{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#共享单车数据探索\n",
    "1、 任务描述 请在Capital Bikeshare （美国Washington, D.C.的一个共享单车公司）提供的自行车数据上进行回归分析。根据每天的天气信息，预测该天的单车共享骑行量。\n",
    "原始数据集地址：http://archive.ics.uci.edu/ml/datasets/Bike+Sharing+Dataset 1) 文件说明 day.csv: 按天计的单车共享次数（作业只需使用该文件） hour.csv: 按小时计的单车共享次数（无需理会） readme：数据说明文件\n",
    "2) 字段说明 Instant记录号 Dteday：日期 Season：季节（1=春天、2=夏天、3=秋天、4=冬天） yr：年份，(0: 2011, 1:2012) mnth：月份( 1 to 12) hr：小时 (0 to 23) （只在hour.csv有，作业忽略此字段） holiday：是否是节假日 weekday：星期中的哪天，取值为0～6 workingday：是否工作日 1=工作日 （是否为工作日，1为工作日，0为非周末或节假日 weathersit：天气（1：晴天，多云 2：雾天，阴天 3：小雪，小雨 4：大雨，大雪，大雾） temp：气温摄氏度 atemp：体感温度 hum：湿度 windspeed：风速 casual：非注册用户个数 registered：注册用户个数 cnt：给定日期（天）时间（每小时）总租车人数，响应变量y （cnt = casual + registered）\n",
    "casual、registered和cnt三个特征均为要预测的y，作业里只需对cnt进行预测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np  # 矩阵操作\n",
    "import pandas as pd # SQL数据处理\n",
    "from sklearn.metrics import mean_squared_error  #评价回归预测模型的性能 rmse\n",
    "import matplotlib.pyplot as plt   #画图\n",
    "import seaborn as sns\n",
    "\n",
    "# 图形出现在Notebook里而不是新窗口\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>dteday</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>casual</th>\n",
       "      <th>registered</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2011-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.344167</td>\n",
       "      <td>0.363625</td>\n",
       "      <td>0.805833</td>\n",
       "      <td>0.160446</td>\n",
       "      <td>331</td>\n",
       "      <td>654</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2011-01-02</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.363478</td>\n",
       "      <td>0.353739</td>\n",
       "      <td>0.696087</td>\n",
       "      <td>0.248539</td>\n",
       "      <td>131</td>\n",
       "      <td>670</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2011-01-03</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.196364</td>\n",
       "      <td>0.189405</td>\n",
       "      <td>0.437273</td>\n",
       "      <td>0.248309</td>\n",
       "      <td>120</td>\n",
       "      <td>1229</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2011-01-04</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.212122</td>\n",
       "      <td>0.590435</td>\n",
       "      <td>0.160296</td>\n",
       "      <td>108</td>\n",
       "      <td>1454</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2011-01-05</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.226957</td>\n",
       "      <td>0.229270</td>\n",
       "      <td>0.436957</td>\n",
       "      <td>0.186900</td>\n",
       "      <td>82</td>\n",
       "      <td>1518</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2011-01-06</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.204348</td>\n",
       "      <td>0.233209</td>\n",
       "      <td>0.518261</td>\n",
       "      <td>0.089565</td>\n",
       "      <td>88</td>\n",
       "      <td>1518</td>\n",
       "      <td>1606</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2011-01-07</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0.196522</td>\n",
       "      <td>0.208839</td>\n",
       "      <td>0.498696</td>\n",
       "      <td>0.168726</td>\n",
       "      <td>148</td>\n",
       "      <td>1362</td>\n",
       "      <td>1510</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2011-01-08</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.165000</td>\n",
       "      <td>0.162254</td>\n",
       "      <td>0.535833</td>\n",
       "      <td>0.266804</td>\n",
       "      <td>68</td>\n",
       "      <td>891</td>\n",
       "      <td>959</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2011-01-09</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.138333</td>\n",
       "      <td>0.116175</td>\n",
       "      <td>0.434167</td>\n",
       "      <td>0.361950</td>\n",
       "      <td>54</td>\n",
       "      <td>768</td>\n",
       "      <td>822</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2011-01-10</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.150833</td>\n",
       "      <td>0.150888</td>\n",
       "      <td>0.482917</td>\n",
       "      <td>0.223267</td>\n",
       "      <td>41</td>\n",
       "      <td>1280</td>\n",
       "      <td>1321</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       dteday  season  yr  mnth  holiday  weekday  workingday  weathersit  \\\n",
       "0  2011-01-01       1   0     1        0        6           0           2   \n",
       "1  2011-01-02       1   0     1        0        0           0           2   \n",
       "2  2011-01-03       1   0     1        0        1           1           1   \n",
       "3  2011-01-04       1   0     1        0        2           1           1   \n",
       "4  2011-01-05       1   0     1        0        3           1           1   \n",
       "5  2011-01-06       1   0     1        0        4           1           1   \n",
       "6  2011-01-07       1   0     1        0        5           1           2   \n",
       "7  2011-01-08       1   0     1        0        6           0           2   \n",
       "8  2011-01-09       1   0     1        0        0           0           1   \n",
       "9  2011-01-10       1   0     1        0        1           1           1   \n",
       "\n",
       "       temp     atemp       hum  windspeed  casual  registered   cnt  \n",
       "0  0.344167  0.363625  0.805833   0.160446     331         654   985  \n",
       "1  0.363478  0.353739  0.696087   0.248539     131         670   801  \n",
       "2  0.196364  0.189405  0.437273   0.248309     120        1229  1349  \n",
       "3  0.200000  0.212122  0.590435   0.160296     108        1454  1562  \n",
       "4  0.226957  0.229270  0.436957   0.186900      82        1518  1600  \n",
       "5  0.204348  0.233209  0.518261   0.089565      88        1518  1606  \n",
       "6  0.196522  0.208839  0.498696   0.168726     148        1362  1510  \n",
       "7  0.165000  0.162254  0.535833   0.266804      68         891   959  \n",
       "8  0.138333  0.116175  0.434167   0.361950      54         768   822  \n",
       "9  0.150833  0.150888  0.482917   0.223267      41        1280  1321  "
      ]
     },
     "execution_count": 141,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#原始数据导入，instant 和数据本身没有关系，故去掉\n",
    "basedata = pd.read_csv(\"day.csv\").drop(\"instant\", axis = 1)\n",
    "#读取最前面10行数据\n",
    "basedata.head(10)\n",
    "#print(\"train : \" + str(train.shape))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>casual</th>\n",
       "      <th>registered</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>2.496580</td>\n",
       "      <td>0.500684</td>\n",
       "      <td>6.519836</td>\n",
       "      <td>0.028728</td>\n",
       "      <td>2.997264</td>\n",
       "      <td>0.683995</td>\n",
       "      <td>1.395349</td>\n",
       "      <td>0.495385</td>\n",
       "      <td>0.474354</td>\n",
       "      <td>0.627894</td>\n",
       "      <td>0.190486</td>\n",
       "      <td>848.176471</td>\n",
       "      <td>3656.172367</td>\n",
       "      <td>4504.348837</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>1.110807</td>\n",
       "      <td>0.500342</td>\n",
       "      <td>3.451913</td>\n",
       "      <td>0.167155</td>\n",
       "      <td>2.004787</td>\n",
       "      <td>0.465233</td>\n",
       "      <td>0.544894</td>\n",
       "      <td>0.183051</td>\n",
       "      <td>0.162961</td>\n",
       "      <td>0.142429</td>\n",
       "      <td>0.077498</td>\n",
       "      <td>686.622488</td>\n",
       "      <td>1560.256377</td>\n",
       "      <td>1937.211452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.059130</td>\n",
       "      <td>0.079070</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.022392</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>20.000000</td>\n",
       "      <td>22.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.337083</td>\n",
       "      <td>0.337842</td>\n",
       "      <td>0.520000</td>\n",
       "      <td>0.134950</td>\n",
       "      <td>315.500000</td>\n",
       "      <td>2497.000000</td>\n",
       "      <td>3152.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.498333</td>\n",
       "      <td>0.486733</td>\n",
       "      <td>0.626667</td>\n",
       "      <td>0.180975</td>\n",
       "      <td>713.000000</td>\n",
       "      <td>3662.000000</td>\n",
       "      <td>4548.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.655417</td>\n",
       "      <td>0.608602</td>\n",
       "      <td>0.730209</td>\n",
       "      <td>0.233214</td>\n",
       "      <td>1096.000000</td>\n",
       "      <td>4776.500000</td>\n",
       "      <td>5956.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>4.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>12.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>0.861667</td>\n",
       "      <td>0.840896</td>\n",
       "      <td>0.972500</td>\n",
       "      <td>0.507463</td>\n",
       "      <td>3410.000000</td>\n",
       "      <td>6946.000000</td>\n",
       "      <td>8714.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           season          yr        mnth     holiday     weekday  workingday  \\\n",
       "count  731.000000  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
       "mean     2.496580    0.500684    6.519836    0.028728    2.997264    0.683995   \n",
       "std      1.110807    0.500342    3.451913    0.167155    2.004787    0.465233   \n",
       "min      1.000000    0.000000    1.000000    0.000000    0.000000    0.000000   \n",
       "25%      2.000000    0.000000    4.000000    0.000000    1.000000    0.000000   \n",
       "50%      3.000000    1.000000    7.000000    0.000000    3.000000    1.000000   \n",
       "75%      3.000000    1.000000   10.000000    0.000000    5.000000    1.000000   \n",
       "max      4.000000    1.000000   12.000000    1.000000    6.000000    1.000000   \n",
       "\n",
       "       weathersit        temp       atemp         hum   windspeed  \\\n",
       "count  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
       "mean     1.395349    0.495385    0.474354    0.627894    0.190486   \n",
       "std      0.544894    0.183051    0.162961    0.142429    0.077498   \n",
       "min      1.000000    0.059130    0.079070    0.000000    0.022392   \n",
       "25%      1.000000    0.337083    0.337842    0.520000    0.134950   \n",
       "50%      1.000000    0.498333    0.486733    0.626667    0.180975   \n",
       "75%      2.000000    0.655417    0.608602    0.730209    0.233214   \n",
       "max      3.000000    0.861667    0.840896    0.972500    0.507463   \n",
       "\n",
       "            casual   registered          cnt  \n",
       "count   731.000000   731.000000   731.000000  \n",
       "mean    848.176471  3656.172367  4504.348837  \n",
       "std     686.622488  1560.256377  1937.211452  \n",
       "min       2.000000    20.000000    22.000000  \n",
       "25%     315.500000  2497.000000  3152.000000  \n",
       "50%     713.000000  3662.000000  4548.000000  \n",
       "75%    1096.000000  4776.500000  5956.000000  \n",
       "max    3410.000000  6946.000000  8714.000000  "
      ]
     },
     "execution_count": 142,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#数据详细信息\n",
    "basedata.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(731, 15)"
      ]
     },
     "execution_count": 143,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#数据的统计（数据记录数量，属性数量）\n",
    "basedata.shape "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 731 entries, 0 to 730\n",
      "Data columns (total 15 columns):\n",
      "dteday        731 non-null object\n",
      "season        731 non-null int64\n",
      "yr            731 non-null int64\n",
      "mnth          731 non-null int64\n",
      "holiday       731 non-null int64\n",
      "weekday       731 non-null int64\n",
      "workingday    731 non-null int64\n",
      "weathersit    731 non-null int64\n",
      "temp          731 non-null float64\n",
      "atemp         731 non-null float64\n",
      "hum           731 non-null float64\n",
      "windspeed     731 non-null float64\n",
      "casual        731 non-null int64\n",
      "registered    731 non-null int64\n",
      "cnt           731 non-null int64\n",
      "dtypes: float64(4), int64(10), object(1)\n",
      "memory usage: 85.7+ KB\n"
     ]
    }
   ],
   "source": [
    "#数据的基本信息\n",
    "basedata.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "instant       0\n",
       "dteday        0\n",
       "season        0\n",
       "yr            0\n",
       "mnth          0\n",
       "holiday       0\n",
       "weekday       0\n",
       "workingday    0\n",
       "weathersit    0\n",
       "temp          0\n",
       "atemp         0\n",
       "hum           0\n",
       "windspeed     0\n",
       "casual        0\n",
       "registered    0\n",
       "cnt           0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 145,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#数据是否有空值\n",
    "data.isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#单变量的分布分析\n",
    "#每天骑共享汽车出行人数的分布图\n",
    "fig = plt.figure()\n",
    "sns.distplot(data.cnt.values, bins=40, kde=True)\n",
    "plt.xlabel('distplot of cnt', fontsize=12)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#单变量的分布分析\n",
    "#各个季节出现的次数\n",
    "fig = plt.figure()\n",
    "sns.distplot(data.season.values, bins=40, kde=False)\n",
    "plt.xlabel('distplot of season', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#单变量的分布分析\n",
    "#各个年份出现的次数\n",
    "fig = plt.figure()\n",
    "sns.distplot(data.yr.values, bins=40, kde=False)\n",
    "plt.xlabel('distplot of yr', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#单变量的分布分析\n",
    "#各个月份出现的次数\n",
    "fig = plt.figure()\n",
    "sns.distplot(data.mnth.values, bins=40, kde=False)\n",
    "plt.xlabel('distplot of mnth', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#单变量的分布分析\n",
    "#各个月份出现的次数\n",
    "fig = plt.figure()\n",
    "sns.distplot(data.holiday.values, bins=40, kde=False)\n",
    "plt.xlabel('distplot of holiday', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/vincent/.local/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
      "  return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f238e55b710>"
      ]
     },
     "execution_count": 151,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#季节和出行人数的关系\n",
    "fig = plt.subplots()\n",
    "sns.barplot(data=basedata[['season',\n",
    "                       'cnt']],\n",
    "           x=\"season\",y=\"cnt\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f238e4e4d68>"
      ]
     },
     "execution_count": 152,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 年份和出行人数的关系\n",
    "fig = plt.subplots()\n",
    "sns.barplot(data=basedata[['yr',\n",
    "                       'cnt']],\n",
    "           x=\"yr\",y=\"cnt\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f238e4b7a20>"
      ]
     },
     "execution_count": 153,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# mnth和出行人数的关系\n",
    "fig = plt.subplots()\n",
    "sns.barplot(data=basedata[['mnth',\n",
    "                       'cnt']],\n",
    "           x=\"mnth\",y=\"cnt\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f238e3ce898>"
      ]
     },
     "execution_count": 154,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# weekday和出行人数的关系\n",
    "fig = plt.subplots()\n",
    "sns.barplot(data=basedata[['weekday',\n",
    "                       'cnt']],\n",
    "           x=\"weekday\",y=\"cnt\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f238e3c0780>"
      ]
     },
     "execution_count": 155,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# workingday和出行人数的关系\n",
    "fig = plt.subplots()\n",
    "sns.barplot(data=basedata[['workingday',\n",
    "                       'cnt']],\n",
    "           x=\"workingday\",y=\"cnt\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f238e30ff28>"
      ]
     },
     "execution_count": 156,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 天气和出行人数的关系\n",
    "fig = plt.subplots()\n",
    "sns.barplot(data=basedata[['weathersit',\n",
    "                       'cnt']],\n",
    "           x=\"weathersit\",y=\"cnt\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f238e2e2e48>"
      ]
     },
     "execution_count": 157,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# temp和出行人数的关系\n",
    "fig = plt.subplots()\n",
    "sns.barplot(data=basedata[['temp',\n",
    "                       'cnt']],\n",
    "           x=\"temp\",y=\"cnt\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAucAAAI8CAYAAABS/gUkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvDW2N/gAAIABJREFUeJzs3XdYFMfjx/H33gEqRlCw0Oya2EEFW1DBgo1i1GASezS2mGKPsffeuyZqLIlRYwlgL4jYUUEFC6KocKBS1SgKx/7+AA+OJqgIv/vO63nuebzd2Z0PM8sxNzd7SrIsIwiCIAiCIAhCwVMUdABBEARBEARBEFKIwbkgCIIgCIIgFBJicC4IgiAIgiAIhYQYnAuCIAiCIAhCISEG54IgCIIgCIJQSIjBuSAIgiAIgiAUEmJwLgiCIAiC8IFIkrRBkqTHkiRdz2a/JEnSMkmS7kiSdFWSpAYfO6PwYeRXX4vBuSAIgiAIwoezCWifw/4OQPXUx0Bg9UfIJOSPTeRDX4vBuSAIgiAIwgciy7IPEJNDETdgs5ziHFBSkiTzj5NO+JDyq6/F4FwQBEEQBOHjsQQepnselrpN0D3v1Nd6+RZHRyRG3ZULOgNAMYvmBVr/s62DCrR+AONe6wo6AslyobgcUCoK/n21hFTQEZhYrmB/LwCUhaAdzspxBR0BQ6ng/5wkyOqCjgCAe5JRQUdAXQiuy56qrR89xMf4m21QpuogUpYovLFOluWC/wP1Pyi/+7ug+rrgX00FQRAEQRD+n0gdnL3PAC0cKJ/uuVXqNqGQKai+FoNzQRAEQRB0Q3Lh+PTkLf4FhkmStB1oDMTLshxRwJn+fyr8/f1OfS0G54IgCIIgCB+IJEl/AQ5AaUmSwoDJgD6ALMtrgP1AR+AO8ALoVzBJhfeVX30tBueCIAiCIOgGObmgEyDL8tdv2S8D33+kOLqtgPs7v/q64O8qEwRBEARBEAQBEDPngiAIgiDoiuSCnzkXPiId7W8xcy4IgiAIgiAIhYSYORcEQRAEQSfIhWDNufDx6Gp/i5lzQRAEQRAEQSgkxMy5IAiCIAi6QUfXIAvZ0NH+FjPngiAIgiAIglBIiJlzQRAEQRB0g46uQRayoaP9LWbO89GEWYto0ekrOvcc/N7naufkQOB1H24G+TJmdObvszcwMODPbau5GeTLGV8PKla00uwbO2YYN4N8Cbzug1Pblprt69ctRBUWgP+VY1rnsrauzelTHvhdPMy5s/uxs7V5a77TwSrclvyLy+J9bPAJzLQ/Iu4/Bmw4SveV+/lyhRenbocDcC0sCveV+1MeK7w4HvQw120C4OTkwPVrJwkK8mX0qKzbZdvWVQQF+eJ7Kq1dTExKcvjQDmKib7FkyQytY6ZNHUPInQvERN/Ktt4P3R9FihTh7GlPLvkdIcD/OJMnjdSUHzqkLzeDfEl6HY6paams26GtA9euehMUeIpRo4ZmmWfrllUEBZ7ilM+/Wu1w6NDfREfdZMni6ZryxYoVZe+eTVwNOMGVy0eZMf2XbNvijbZtW3L16gkCA32yzbBly0oCA33w8dmXIcN2oqJusHjxNK1junVz4eLFQ1y+fJQZM8a9NUNGVVrWY/Dx+Qw5uZCmQ1wy7W/QozXfHZrDgP2z6L1rEqWrWwJgYV2FAftnpTwOzOKzdrZ5rvuNyi3r8d3x+Qw6uZAmWWSw6dGKbw/Npt/+mfTYNRHT6hZa+40sTBkR9BuNBnZ85wz1WzZg1Yk1rPFZR9eh3TLtdx3QmRXHVrH00HKm/TWTMpZlNPsmb57KtmvbmbBx0jvXD2Ddsj4Lj69k8cnVuA7pkml/xwGuzD+6nLkHlzD+z2mUTs1Q2rIMs7wWMnv/YuYfWUabHu3eOUP9lg1YcWI1q3zW0iXLdnBj2bGVLD60jKl/zdBqh4mbp7D12l+Mf892MHeoR6dT83E+vZCawzJfD29YdbTja9U2TOpVBsCg1Ce02jmebsG/03Bmn/fO4HpqPm6nF1I7hwzlO9rRU7VVK0Obnb/SPfg37Gb2fq8M+SZZnf8PofDQ0b4Wg/N81LljW9YsmvH2grmwbOlMnF16Utfake7dO1OzZnWt/d/2+5rY2Hhq1LJnybL1zJ41HoCaNavj7u5GPZtWdHLuwfJls1AoUrp98+YddHLukamuObPGM33GImztnJg6dQFzZo/PMZs6OZnZHhdZ2duR3T84c/BqKCGP47XKrD95Hac6Ffj7+47McbdnlsdFAKqVLcmfg9uz4/uOrOzTiun/nidJnbt3wgqFgqVLZ+Di2gtra0e6d3ejZg3tdunX7yti4+KpVcueZcvWM2vmrwAkJLxiytT5jP1leqbzenod5XN75xzr/dD98erVK9o4udPQti0NbZ1o5+RA40YNADhz9iLtOnxFaGjWb1zetIOrW2+sbVrR3d2NGhnboe9XxMXFUat2c5Yt/42ZM9LaYerUBfzyS+brdPGStdSzdqRR4w40bWZHOyeHHNtk6dIZuLn1wcamNe7urpky9O3bnbi4eGrXbsHy5b9pBtspGRbyyy8ztcqbmJRk9uxf6dDhaxo0aIOZWRkcHT/PNkNGkkKi/fS+bO8zj7VtxlDbtalm8P3G9X1nWN/uF37r+Ctn13jSZkLK78PjW2H87jKB3zr+yvY+8+gw61skZd5fLiWFhNP0PuzoM4/1bcZQy7VJpsF30L6zbGg3jo0dx3N+jRetJ/TU2t9qYg/uegfkue43FAoFg2YMYWqfyQxrPZTmri0pX728Vpl7gSGM6DScn9r9wBkvX/r+mvY/TO9Zu5slwxe9c/0AkkJBv+mDmNtnGqPa/EAz1+ZYVrfSKhMaeJfxziMZ2/5nzu8/wzfjUgagsY9jmfTFWMZ1HM4EtzG4DulKqbJZv0nNiUKhYOCMwUzvM4UfW3+PvWsLrDK0w93Au4zqNILh7X7kjNdpeqdrh70fpB0kGs7qi3ePeex3GENFt6YYZbgmAfSKF+WzAe2JunRHs02dkMjV+Tvxn/bne2doNKsPx3vMw8NhDJXcmmCc4Zp8k6HGgHY8yZAhYP4uLr9nBkEQciYG5/nI1qYuxkYl3vs8kl4RQkJCuXfvAYmJiezYsQ9XF+3ZI1cXJ7Zs2QnAP/940crRPnV7O3bs2Mfr168JDX1ISEgojezqA3DK9zwxsXGZ6pNlmRKpuY2MS6CKeJRjvuth0ZQ3LYGVSQn09ZS0q1sR7xvaA0kJ+C8hEYDnCa8pU6IYAMUM9NBLHfS8TlIjIeW6XezsbDK1i4uLk1YZl/TtstsLx9R2efHiJWfOXCQh4VWm8164cJnIyMfZ1tvIrn6+9Md//70AQF9fDz19fVL+11/w9w/k/v2w3LfDzn+zboetuwDYvdtLM8jVtMMr7XZ4+TKBkyfPApCYmIj/lWtYWpnnOsPOnR5ZZtiqybA/U4ZXrxK0yleuXIE7d0KJiooB4PhxXzp37pBthowsbKoSE/qIuIdPSE5UE+Rxjk/bNtQq8/r5S82/9Q2LaP6dlPAaOfVNorKIPqldkWfmNlWJDX1EfLoM1d+SQSatsupODYl/+ISo1E+a3kV1m0+JDI3g0YNHJCUmccrDh0ZOTbTKXDt7jdepvwu3rtzC1Ly0Zt/V0wG8TJfxXVSzqU5kaASPHz5CnZjEWQ9fbNs21ioTdPY6rxNeA3Dnyi1MzE0BUCcmkfQ6CQB9A30kRe5fI9KrblOdiHTt4OvhQyMn7QzX07XD7Su3ME3NAHDt9NX3bgeT+lV5HvqI/x6kXA8P9p3Dql3DTOXqjenGjZUeqF+91mxTv3xF1IXbqF8lvlcG0/pVeRb6iOepGUKzyWA9phtBKz1JTlef+uUrnnyADPlKTs7/h1B46GhfF+jgXJKk4pIkeUmSFCBJ0nVJkrpLktRQkqSTkiRdkiTpkCRJ5qllv5Mk6WJq2X8kSTJM3f5l6rEBkiT5pG4rKknSRkmSrkmSdEWSJMfU7X0lSdotSdJBSZKCJUmaV3A/fR4o9HgYptI8DQuPwMLCTKuIhaWZpoxarSY+/immpqWwsDDLfKyl9rEZjRg1mbmzJ3Av5CLz5kxk/ITZOZZ//PQlZsaGmufljA15/Ez7j9jgVvXwCriH0/zdDNvizS+d0pYJXHsYRZdlnnRb4cUE10aawfrbWFqYE/YwQvM8PDwSC0vzDGXMCAtLKaNWq4l/+jTbpSG5lb6t4cP1h0KhwO/iYSLCr3LsmA8XLl7JXZ4M5wwPj8AyYx4LM8LS5Xn69Fmu28HY2IhOndpw4sTpHDOEZchgYVHuvTKEhNynevUqVKxohVKpxMXFCSurzDN82SlhZsKziGjN86cRMZQwy1xfw95tGeqziNbjvubQ5D/S8tpUZeCRuQw8NIeD4zdoBut5UcKsFM8iYjTPn2WToUHvNgzyWYjjuK84OnkzkDJQbzLEGd8lu/Ncb3qmZqZEqZ5onkdHRGFazjTb8m27O3HpxKX3qjOjUmYmREdEpcsQTSkzk2zLO3RvQ4D3Zc1zE/PSzD24hBXnfuPfNbuJfRyb5wwmZqZEqbQz5NQObbq35fIHbgdDMxNeqNKuyRcRMRQz174eStWthKGFKapj/h+07rQMpXihSrsmX0TEYJghg0ndShS3MCE8nzIIgpCzgp45bw+oZFm2lmW5DnAQWA50k2W5IbABePNZ925Zlu1kWbYGbgD9U7dPAtqlbndN3fY9IMuyXBf4GvhDkqSiqftsgO5AXaC7JEnan2sCkiQNlCTJT5Ikv982//Whf+ZCb9DA3owcPYXKVe0YOXoq69cufO9zHrwaimuDqhwe3YUVvRyY8M8ZkpNTZgjrli/N7h+d2TaoPb/7BPIq8X9zTV9ycjK2dk5UrGyLnW19atf+rKAjoVQq2bJ5BStXbuTevQcfte64uHh+/HE8W7as5NixXdy/H4Za/eGvjUubj7CqxQiOz9mO/Q+dNdtV/iGsazuWDa4TaTbUFWUR/Q9e9xuXNx9lbYuReM/ZTrPUDPbDu3Dxt4Mkvsj86U5+afmFA9XqVWPP2n8+Wp0Z2X/Rkip1q+Gxdo9mW0xEFGPb/8zwFoNp0dUR49LG+Zqh5RcOVK1Xjb1r3++NUZ5JEvUn9+DK1G0ft94MGRpO7sGlqf9Pl64kJ+f/Qyg8dLSvC3pwfg1oK0nSXEmSmgPlgTrAEUmS/IEJwJuFiXUkSTolSdI1oAdQO3X7aWCTJEnfAcrUbfbAVgBZlm8C94FPU/cdk2U5XpblBCAIqJgxlCzL62RZtpVl2XZA768/8I/8DpKTKJ9uxtDK0hyVKlKriCo8UlNGqVRibGxEdHQsKlVk5mPDtY/NqHevL9mzZz8Au3Z5YGeX8w2hZY2KERn/QvP8UfwLyqYuW3ljz6UQnOpUAMC6QhleJSUTl2HQUaWsMYYGetx5nHmpTVbCVRFYlU+bKbe0NEMVHpGhTCRWqcsxlEolxkYp7fI+0rc1fPj+iI9/ivfJ0zmu8daqK8M5LS3NCc+YRxWpmXVWKpUYGZXIVTusWjWXO3fusXzF72/NYJUhg0r1KNsyuc2wf/9RWrRww8HhC4KD7xIcfO+tmd94FhlDiXTLEozMTXgWmX19gf+e5VOnzDd+Rt9R8fpFAmU/tcriqLdliKWEedoMcYm3ZAj69xzVnVKWGFjYVMNx3FcM8V2M7bftaPq9Kw36tM1zhujIaEpbpN3YaGpemuhH0ZnKWdtb8+Ww7szsP12zjORDiY2M0VoqY2puSmxkTKZydT6vR+dh3VgwYFaWGWIfxxJ2+wGfNaqV5wwxkdGUttDOkFU71LO3ptswd2b3n/HB2+FFZAyGFmnXpKG5CS8j0q4H/U+KUrJGeVr9MwGX80so3aAazTeN1NyQ+WEyxGJokXZNGpqb8CJDBuMaVrT9Zzydzy+mdIOqOGwa8UEzCIKQswIdnMuyfBtoQMogfQbQFQiUZdkm9VFXluU3C1c3AcNSZ8OnAkVTzzGYlEF8eeCSJEnZf06ZIv2IUM3/g6+TlJNeUa1aZSpVKo++vj7u7m54eB7WKuPheZhevb4EoGvXTpzwPq3Z7u7uhoGBAZUqladatcpvXS6hinhEyxZNAWjlaE/wnZwHRLUtTXkQ/Yzw2OckJqk5dO0+LWtoD2TMSxpyPiRlwHj3cTyvk9SUKl6E8NjnmhtAVXHPCY16ikXJ4rlqFz+/gEzt4ul5RKuMp+eRtHbp0glv7+yXZuTWRT//D94fpUubYGxsBEDRokVp07oFt26F5CpPSjtUSsvzpWvW7dAz5dspuuSyHaZMGY2xUQlGjpqSywxpbfLlly5ZZuipydARb+8zbz1vmTIpv84lSxozcGAvNm7M/SdZqoC7mFQ2w7h8GRT6Smq5NOH2Ee1lCqUqpS29qd7KhtjQlGvUuHwZzQ2gRpalMa1qQVzYE/IqIosMd45c1iqTPkO1dBm2fTmd1fbDWW0/HL8Nhzi78l8u/6HdprkRHHAb88oWlC1fDj19PZq7tODCkfNaZSrXrsKQ2cOY2X868dHx2Zzp3YUEBGNW2Zwy5cui1NejqYs9l45c0CpTqXZlBsweyoL+s3iaLoOJmSn6RQwAKG5UnM9saxIRoiKvggOCtdrB3qUFFzNkSGmH75mVT+0Q43+XEpXNKJ56PVRwa0LY4bRrMvHZS3bXGYxH45/xaPwzUZfvcKrvQmKu5v5N6dtEZ8hQya0JYYfTrsnEZy/ZVWcIexsPZ2/j4URdDsG776IPmiE/yXJyvj+EwkNX+7pAB6aSJFkAMbIsb5UkKQ4YCpSRJKmpLMtnJUnSBz6VZTkQKAFEpG7rAYSnnqOqLMvngfOSJHUgZZB+KrXMcUmSPgUqALdIeSPw0YyePIeLV64SF/eU1p17MrR/L7q6vNvXgP308wT2e/2JUqFg0x9/ExR0mymTR+F3KQBPzyNs2LidPzYt42aQL7GxcXzTM+Wr7IKCbrNrlwfXAk6QpFbz40/jSU79qGbrlpW0bNGU0qVNCL3rx9RpC9i4aTuDB49m0aJp6Onp8SohgSFDxnByZLNss+kpFfzibMuQP46TnCzj1qAq1cqVZNWxAGpZmOJQ04oR7Rsybd85tp25CZLE1C5NkSSJK/cfs8EnCD2lAoUE45ztKFW8aLZ1padWq/n554l4eW5DoVTwx6a/Cbpxm8mTRnHpckq7bNy4nU0blxIU5EtsTBw9e6V9xd/tW2cxMiqBgYE+ri7t6NTpG27cDGb2rPF0794ZQ8Ni3A25yMaNfzF9xiKtej90f5ibl2PD70tQKhUoFAp27fLAa/9RAIZ9/y2jRg7FzKwMVy4d5cDB4wwdOjZTO3h6bEWpVLLpj7+5ceM2kyaN5PKlq3h6HWHjpu1s3LCEoMBTxMTE0at32tc/3rp1BqMSKe3g4tKOTs49ePbsGeN++ZGbN4M5f+4AAKvXbGLjxu059oWHxxaUSiV/aDKM4NKla3h5HWHTpr/ZsGEJgYE+xMTE0bv3sHQZTlMiXQZn557cvBnMwoVTqFs3ZZZ01qwl3HnLG8X0ZHUyhyZt4uvNY1EoFQTsOElUcDgtRnQl4uo9go9exraPE5Xt65CcqObl0//4d8QaAMrbfkazoS4kJ6qR5WQOTtjIy9jnua47fYbDk/6g++YxSEoFV1MzNE/NcOfoZRr2caKifW2SE9UkPP0PrxFr81xPTpLVyaybuIYpW6ahUCo49vcRHt5+wDcjenDnWjAXjlyg3/hvKWZYlDGrU74yM0r1hJn9U77JaNauuVhVtaJo8aL8fn4TK0Yv44rP5ZyqzDLDpknrGbd5MgqlEu8dRwkLfki3EV9z7+odLh29yDe/9qWoYVF+WjUGgGjVExYMmIVlNSt6TuiHLMtIkoTnun08vHX/ndph/cQ1TN4yNbUdjvLw9gO+Tm2Hi0cu0Gd8P4oaFmV0ajs8UT1hdv+UbzKauWsOlqntsP78RlaOXoa/T+7uC3lDVifjN34TDn+ORVIquLv9JE9vh1N3dFdiAu4RfjjndnU5vwT9T4qhMNDDqp0tJ76ew9PgvN0sLKuTuTj+D1r/mXJNhmw/SfztcOqlZgh7S4bO5xdrZTj+9Rzig/P+ZkkQhOxJ8rt+DcGHqFyS2gHzgWQgERgCJAHLAGNS3jwskWV5vSRJQ4AxwBPgPFBCluW+kiTtBqqT8oUgx4CfgSLAasA29XwjZFk+IUlSX8BWluVhqfV7AgtkWfbOLmNi1N2Ca6B0ilk0L9D6n20dVKD1Axj3WlfQEUguwN+X9JSKgl6RRp6+WSe/TCxXsL8XAMpC0A5n5dwtBctPhlLBfwiZIBeO+1Xck4wKOgLqQnBd9lRt/eghXgWfyfcX6SLVmxV84wpA/vd3QfV1gb6ayrJ8CDiUxa4WWZRdTcqAO+P2zP+bBSQA/bIou4mU5TFvnmf/ZdaCIAiCIAiC8JEV/FSHIAiCIAjChyDWhP9v0dH+LvjPxgVBEARBEARBAMTMuSAIgiAIuiK5cNx3IHwkOtrfYuZcEARBEARBEAoJMXMuCIIgCIJu0NE1yEI2dLS/xcy5IAiCIAiCIBQSYuZcEARBEATdkKybM6lCNnS0v8XMuSAIgiAIgiAUEmLmXBAEQRAE3aCja5CFbOhof4uZc0EQBEEQBEEoJMTMuSAIgiAIukFH1yAL2dDR/haD8/8nXqpOFXQEilk0L9D6pQKtPUVhyACgLgQvSCWLFi/oCCyOvVjQEUiW5YKOgLmhSUFHIDguvKAj0MO8cUFHAMCxWsG3xavn/5t/3mVZN/9TGiFrutrf/5u/vXlQ0ANSKBwDc0EQBEEQBCH/icG5IAiCIAi6QUdvEBSyoaP9LW4IFQRBEARBEIRCQsycC4IgCIKgGwrB/TjCR6Sj/S1mzgVBEARBEAShkBAz54IgCIIg6AYdXYMsZENH+1vMnAuCIAiCIAhCISFmzgVBEARB0A3Juvm910I2dLS/xcy5IAiCIAiCIBQSYuZcEARBEATdoKNrkIVs6Gh/i5lzQRAEQRAEQSgkxMy5IAiCIAi6QUe/91rIho72t5g5FwRBEARBEIRCQgzOc6GdkwOB1324GeTLmNHfZ9pvYGDAn9tWczPIlzO+HlSsaKXZN3bMMG4G+RJ43Qenti0129evW4gqLAD/K8e0zmVtXZvTpzzwu3iYc2f3Y2dr817ZJ8xaRItOX9G55+D3Og8UznZwcnLg+nUfbgT5MjqbTNu2reZGkC+nM2QaM2YYN4J8uX7dh7bpMv3043f4+x/nypVjbNmykiJFinyUeoNvn+PK5aOan/mNiRNHEHrPD7+Lh/G7eJj27Vtlqu9D942VlQVHD+/kasAJAvyP88Ow/pnOmVGrNs05d+kgF/yP8OPwgVlk0Oe3jUu44H+EQ8d3Ur6CpdZ+SytzQlVX+P6HbzXbBg7pzalznvie92LQ0D4FkmHw933xPe/FqXOerNuwiCJFDN6ao3Wb5py/fAg//6P8NCKrHAb8vmkJfv5HOXJ8V5Y5HkT4M+zHtHY3Mi7Bpi3LOXfpIOf8DmLXKPevDfaOTfA8vYMD53Yx4IfemfY3bGLDziN/EBB+Gidn7etr7V9LOHv7KCu3Lsx1fW84OTlw/dpJgoJ8GT0qm9+TrasICvLF91TadWliUpLDh3YQE32LJUtmaMoXK1aUvXv/4NpVb/yvHGPmjHF5ylOnpQ2zji1jjvcKOg75InPe/i7MOLKEaQcWMXrbZEwty2j2/R6yg6n7FzB1/wJ+XP9LnupNz6BRI0pv3UzpP7dRvMc3mfYXa9+esv/uxfT33zD9/TeKdeqk2ffJ4IGYbtqI6aaNFG3l+M4Zijazw2L3Riz2/YFR368y7S/u4oTVsV2Y/7UG87/W8EnnDgAUsbXWbDP/aw0Vzu6nmEOzd86RL+Tk/H8IhYeO9rUYnL+FQqFg2dKZOLv0pK61I927d6ZmzepaZb7t9zWxsfHUqGXPkmXrmT1rPAA1a1bH3d2Nejat6OTcg+XLZqFQpDT55s076OTcI1N9c2aNZ/qMRdjaOTF16gLmzB7/Xvk7d2zLmkUz3l4wFwpbO7zpGxeXntSzduSrbDLFxcZTs5Y9S5etZ1a6TN3d3bC2aYVzukwWFmZ8//23NGnSkfr1W6NUKunu7pbv9b7Rpu2X2No50aRpR63zLV22Hls7J2ztnDh48HiWeT5k3yQlJTF6zFTqWTvyub0LQ4b0zXTOjBnmLpxM967f8bldR7p0c+bTz6pqlenR+0vi4uJpZNOWNSs3MXnqaK3902eN49gRH83zGjWr06uPO06O3WjZzBWndo5UrlLho2YwMy/Hd4N60aZlF5o3cUahUPBF107kRKFQMG/hFNy7DKCpXQe6dnPms8+qaZXp2bsbcXFPsbVpw+qVG5kyTTvHzNm/auUAmD1vAseO+tCkYXuaN3Xh1q2QHHOkzzN+zmgGf/Mzrs2/ouMXTlT9tLJWmYjwR4z/aTpeuw9nOn7Dqq2MGzYlV3VlrHfp0hm4uPbC2tqR7t3dqFlD+xrq1+8rYuPiqVXLnmXL1jNr5q8AJCS8YsrU+Yz9ZXqm8y5evJa69Rywa9Sepk1tadcud4NUSaGg17TvWNx3JuPb/kxjV3ssqllplXkQdI9pLmOY1GEEfgfO4T6ul2bf64TXTO44iskdR7Hsuzl5bY4UCgVGw38idvRYonr3oWjrVigrVsxU7OXxE0T3H0B0/wG89PICoEiTJuhX/5To/gOIGTyE4t27IxkavlMGk7E/8PiHX1F17U/x9o7oV878e/XfYW8ivh5MxNeDeb73AACv/AI02x4NGk1yQgIJ5y7lPYMgCDn6nx6cS5L01jX3jezqExISyr17D0hMTGTHjn24urTTKuPq4sSWLTsB+OcfL1o52qdub8eOHft4/fo1oaEPCQkJpZFdfQBO+Z4nJjYuU32yLFPCqASQMlOminj0Xj+jrU1djFPP9z4kvSKFrh0y9s3fO/bhkiGTSzaZXFza8Xc2mfT09ChWrChKpRLDYsVQRUR+lHrfVX5co5GRj7nifx2A58//4+bNYCwtzLLN0MC2Hvfu3ud+6EMSExPZ848XHTq10SrToVNrtv+1B4B/9x6kuUPTdPva8OB+GLdu3tFs+/QoYzRlAAAgAElEQVSzqlzyC+DlywTUajVnTl/A2cXpo2aAlOuh6JvrwbAYkZGPs80A0DBDjt3/eNHBubVWmY6d2rD9z90A7Nt7kBbpcnR0bsP9+2HcvBGs2VbC6BOaNbNjyx8pfZiYmMjT+Gc55nijboNaPLwXRth9FYmJSezfewTH9i20yqgeRnA76A5yFus3z5/y47/nL3JVV3p2djaZrkuXDP2n9Xuy2wvH1OvyxYuXnDlzkYSEV1rlX75M4OTJM0BKG1zxv46lpXmu8lSxqcbj+5E8efgIdWISFzx8qe9kp1Xm5tnrvE54DUDIlduUMjPN88+dE/2aNVCHh6OOiICkJBKOHaeo/ee5OlZZqSKvAwJArUZOSCDxbghFGjfKcwaDOp+RFKYiKTwlw3+HvCnmkLsM6Rm2aUHC6YvIGfqowCUn5/9DKDx0tK91enAuSdI0SZJ+Tvd8piRJP0mSdEqSpH+BoLedw8LSjIdhKs3zsPAILDIMUtKXUavVxMc/xdS0FBYWWRxrmf0AB2DEqMnMnT2BeyEXmTdnIuMnzM7dD5vfFHqFrh0sLM0IS3fe8PCITAPI7DJZWmQ+1sLSDJUqksWL13A35AIPH1zh6dOnHD3qk+mcH7peSHlDcmD/X5w/d4AB/bU/TRg6pB+XLx1h/bqFlCxpnG1d8OH7pmJFK2ys63D+whWyY25eDlVY2psYlSoSc4tymcqEh0VoMjx9+gwTk1IUL27Ij8O/Y/6cFVrlbwQF07SZLaVMSlKsWFHaOLXEwir7gVh+ZIiMeMTK5b/jH+hNYPBpnj59hvfx09lmSKnDjPDwiLQc4ZGYm2fIYVGO8NSsarWap/HPMTFNyfHT8IHMm71cq3zFiuWJiophxZq5ePvuY+mKmRgaFssxxxvlzMoSoUp7c/tI9ZhyZmVyOOLDsLQwJ+xhWjuEh0dikWEgnfL7kNYf8U9TrsvcMDY2olOnNpw44Zur8qXKmRCjitI8j4mIoVS57AffLdxbc837sua5fhEDJv07lwl7ZlPfKe+DYgBF6TKoHz/RPFc/eYKiTOa+KNqyBaYbf6fktKkoyqbsTwpJHYwXKYJkbIxB/fooypbNcwa9MqVJSvcGU/34CcqymdvBsFVzzP9eR+l5k1CWy5yxeDsH/jt0PNN2QRDen04PzoENQG8ASZIUwFdAGNAA+EmW5U+zOkiSpIGSJPlJkuQnJyd8tLAAgwb2ZuToKVSuasfI0VNZvzbv6zx1QUG1Q8mSxri4tKP6p02oULEBhsUN+eabLh+lbgfHL2jUuD3OLj0ZMqQv9vaNAVi7djOf1WhGQ1snIiIfM3/epI+SB6B4cUN2/L2eEaMm8+zZ83ypY8y4H1izchP//ac9Oxt8O4Rli9eza88Gduz+netXb6BW58//BpddBuOSRnTo2JqGdVtR51N7DA0N+bK7a75kABj76w+sXrExUw49PSXWNrXZ+NufONi78eK/l/w8YlC+5SjslEolW7asZOXKDdy79+CDn79p5xZUqleVA+v2abaN+nww01zHsvbHJXwzqR9lKpTL4QzvLuHMGZ64f0V0v/688vPD+NeUdfWvL/rx6tx5TFetpOSkiSQGBubbzN5Ln3OEO/ckovtAEs5fovS0MVr7laVN0K9WmZdn/fKl/vciZs7/t+hoX+v04FyW5VAgWpKk+oATcAWIBi7Isnwvh+PWybJsK8uybUREHOWtLDT7rCzNUam0lzmowiM1ZZRKJcbGRkRHx6JSRWY+Nlz72Ix69/qSPXtSbgbctcsDO7v3uyH0g0lOKnTtoAqPxCrdeS0tzQnPZaZwVeZjVeGRtG7dnNDQB0RFxZCUlMTevQdo2sQ23+sFNO355Ek0e/cd0PzMjx9HkZycjCzL/P77NmwztEX6uuDD9Y2enh47/17PX3/tYW/qmtPsREQ8wsIqbcbdwsJMa7b2TRnL1JlvpVKJkVEJYmJiaWBrzeRpo7l87TiDhvTh51GD6T+wJwDbtuyidcsuuHToQVzcU0LuhH7UDC0dmnH/fhjR0bEkJSXh6XEYu8Y5L0OKiIjUWmphYWlGRIZlWRGqR1imZlUqlRgZf0JMdCwNba2ZMn0M/tdPMHhoX4aPHMyAgT1RhUeiCo/kkl8AAPv2HaSeTe0cc7zxKPKx1icI5SzK8ijySQ5HfBjhqgisyqe1g6WlGap0nyiklInEKl1/GBulXJdvs3rVXO7cucfy5b/nOk/soxhMLEprnpuYmxD7KDpTuVqf18N5WFeWDphN0uskzfa4RzEAPHn4iJvnAqlYu3KmY98mOeoJyrJps9DKMmVIfqLdF/LTp5CYCMBLTy/0P02bQ/pvy1ai+w8gduQoQCLp4cM8Z0h6EoWeWdqMu7JsGdSPtdshOT4tw/M9BzCooT2PZdi2JS9OnIYk3fyv0wWhoOn04DzVb0BfoB8pM+kA/+X24It+/lSrVplKlcqjr6+Pu7sbHp7aN015eB6mV68vAejatRMnvE9rtru7u2FgYEClSuWpVq0yFy5mvzQAQBXxiJYtUtaftnK0J/hOtu8hPio56VWha4eMfdPd3Q3PDJk8s8nk6XmY7llkevggnEaNG1CsWFFN3TdvBud7vYaGxfjkk+IAGBoWo22blgQG3gLALN0f0s5uHTTbs8vzofpm/bqF3Lh5hyVL12XVRVquXLpGlSqVqFDRCn19fb7o2omD+7W/gefg/uN89XXKN2S4dm7PqZNnAXBp/w0N6raiQd1WrF39B0sWrOH3dVsBKF3aBEj59hJnVyf+2enxUTOEhamwtbPRXA8tWjbl9q27ObbF5UvXqFI1LUeXrp046KWd48D+Y3yV+omMW+f2nDp5DoBO7b7Bpo4jNnUcWbNqE4sXruG3dVt5/DiK8PAIqlVPGRC2bNk009r47Fy/coMKVcpjWcEcfX09OnZuy4lDPm8/8D35+QVkui49PY9olfH0PJJ2XXbphLd3zkuGAKZOGY2xsREjR07OU557AXcoW8mc0lZlUerr0cjFnitHtGd+K9SuTJ9Zg1g2YA7Pop9qthsaFUfPIOUWpU9KlaB6wxqogsPyVD9A4s1bKK2sUJqbgZ4eRVu34tXpM1plFKYmmn8X+bwZSfdTPxlQKJCMjADQq1IFvapVeX0x7zPXrwNvoVfeEj2LlAzF2znw8qR2BmXptAzFWjYlMVT704ni7VvxX4Yb0wsLWVbn+0MoPHS1r/8X/hOiPcA0QB/4Bmiel4PVajU//TyB/V5/olQo2PTH3wQF3WbK5FH4XQrA0/MIGzZu549Ny7gZ5EtsbBzf9BwKQFDQbXbt8uBawAmS1Gp+/Gk8yakfk2zdspKWLZpSurQJoXf9mDptARs3bWfw4NEsWjQNPT09XiUkMGTIGE57rXrnH3705DlcvHKVuLintO7ck6H9e9E1w82CuVXQ7ZDRm77xypBp8uRRXEqXadOmZdxIzdQjXaaduzy4miHThYtX2L3biwsXDpGUlESAfyDrf9uW7/WWK1eGXTtTZgGVekq2b9/L4cPeAMyZPQFr61rIskzo/TCGDh2bZZ4P2TefN7OjV89uXL0WhN/FlIH+xIlzOJDNH2S1Ws0vo6exc8/vKJRK/tyyi1s37/DL+B/xv3ydgweOs23zTlatm88F/yPExcbzXb/hb73mNm5dgYlJSRITkxgzcmqON0HmR4bLflfx2HeI46f2kpSUxLWrN9i8cXuOx6jVasaMmsquvRtQKpRs27KLmzfvMG78T1y5co2D+4+zdfNO1qxfgJ//UWJj4xiQi7YYO2o6a39biIGBPqGhDxk2JHdf56dWq5k5bgHrti9DoVSw5y8PQm7dY9iYgQQG3ODEoVPUsanJ0o3zMCpZAgen5nw/+jvcWn4NwOZ9a6lcrSKGxYtx7IoHk4bP4LT3+VzV+/PPE/Hy3IZCqeCPTX8TdOM2kyeN4tLllOty48btbNq4lKAgX2Jj4ujZa6jm+Nu3zmJkVAIDA31cXdrRqdM3PH32nHHjfuLmzWAunD8IwKrVm9i48a+35klWJ7Nt0m+M3DwRhVLBqR3HUQU/pPPwrwi9dgf/o364j+tNEcOiDF01EoDo8CiWfTcHi2pW9Jk1iGRZRiFJeK3eg+pO3gfnqNU8XbKUUgvmg0LBy/0HSAoN5ZNv+5F46xavTp/BsGtXinzeDNRqkp8+I3526jfD6OlhumJZys/y3wviZ8yEd1nmpU4mZu5yyq6cAwoFz/89SOLd+xgP7sProNu89DlLia++oFjLpikZ4p8RNXme5nCleTmU5crw6tLVvNf9MYhlJ/9bdLS/JVmWCzpDvpMkaQ0QJ8vyL5IkOQCjZFl2zs2xegaWBd5AL1WnCjoCAMUs8vS+5oOTCrT2wqXAL0qgZNHiBR2hUEguBK+h5oYmby+Uz4Ljwgs6Aj3MGxd0BABmV8i8XOZje/W84OfeKl4++tFftl96b8j3X8hiDt+KP0eFRH73d0H1dcH/9uaz1BtBmwBfAsiy7A14F2AkQRAEQRDyg/hPgv636Gh/6/Sac0mSagF3gGOyLAe/rbwgCIIgCIIgFCSdnjmXZTkIqFLQOQRBEARB+Ah0dA2ykA0d7W+dnjkXBEEQBEEQhP9PdHrmXBAEQRCE/yE6ugZZyIaO9reYORcEQRAEQRCEQkLMnAuCIAiCoBt0dA2ykA0d7W8xcy4IgiAIgiAIhYSYORcEQRAEQTfo6BpkIRs62t9i5lwQBEEQBEEQCgkxcy4IgiAIgm7Q0TXIQjZ0tL/FzLkgCIIgCIIgFBJi5vwtnm0dVNARCo2XqlMFHYESVg4FWn9yYVnfJssFnYDkQpChtUmtgo6AHlJBRyCJgu+LT8uVLegIXE6IKOgIACx4ULGgI/Cagn+tWlYQleroTKqQDR3tbzE4/3+gmEXzgo5QKAbmgiAIgiAIuk4MzgVBEARB0A2F5dNN4ePQ0f4Wa84FQRAEQRAEoZAQM+eCIAiCIOgGHV2DLGRDR/tbzJwLgiAIgiAIQiEhZs4FQRAEQdANOroGWciGjva3mDkXBEEQBEEQhEJCzJwLgiAIgqAbdHQNspANHe1vMTgXBEEQBEE36OgyByEbOtrfYlmLIAiCIAiCIBQSYuZcEARBEATdoKPLHIRs6Gh/i5lzQRAEQRAEQSgkxMy5IAiCIAi6QUdnUoVs6Gh/i5nz93A6WIXbkn9xWbyPDT6BmfZHxP3HgA1H6b5yP1+u8OLU7XAAroVF4b5yf8pjhRfHgx6+ta52Tg4EXvfhZpAvY0Z/n2m/gYEBf25bzc0gX874elCxopVm39gxw7gZ5EvgdR+c2rbUbF+/biGqsAD8rxzTOpe1dW1On/LA7+Jhzp3dj52tTa7bJCsTZi2iRaev6Nxz8HudJytt27bk6tUTBAb6MGrU0Ez7DQwM2LJlJYGBPvj47NO0i4lJSQ4d2k5U1A0WL56mdUy3bi5cvHiIy5ePMmPGuCzrdXJy4Pq1kwQF+TJ6VNb9sW3rKoKCfPE9pd0fY0Z/T1CQL9evnaRtuv4YNqw/Vy4fxf/KMX74ob9m+8QJI7h314+LFw5x8cIh2rdvlZbhug83gnwZnc01sW3bam4E+XI6wzUxZswwbgT5cv26j1aG4NvnuHL5qKbv36hXrxanfP7lyuWj7NmziRIlPslUX+s2zTl/+RB+/kf5acTALPP8vmkJfv5HOXJ8F+UrWGrtt7Qy50GEP8N+7K+1XaFQ4O27j792rst0zpzYtKzP0uOrWH5yDZ2HdM2033mAK4uPrmDBwaVM+nMapS3LAFCpVmVm7pnLoiPLWXBwKc2c7fNUb0bWLeuz8PhKFp9cjeuQLpn2dxzgyvyjy5l7cAnj0+UobVmGWV4Lmb1/MfOPLKNNj3bvnKEwtEX9lg1YcWI1q3zW0mVot0z7XQe4sezYShYfWsbUv2ZQJjUDwMTNU9h67S/Gb5z0zvUDNHNszD7fv/A4u4Nvh/XKtL9BExu2H97IpTAf2jg7arZ/Vrs6mz3XsfvkVnYe30w7t9bvnOGzltaMObaQX7wX4zjENdP+Fv07MvrIfEYcmMugbeMpZVlas6/TL18z6tA8Rh2ah7Vzk3fOULOlNeOPLWai91LaDHHLtN+xfyd+PbKQsQfm8f22CVoZXH/pwbjDC/j16CK6Tu77zhkEQcieTg/OJUkqKUnS0HTPHSRJ8vwQ51YnJzPb4yIrezuy+wdnDl4NJeRxvFaZ9Sev41SnAn9/35E57vbM8rgIQLWyJflzcHt2fN+RlX1aMf3f8ySps3/3p1AoWLZ0Js4uPalr7Uj37p2pWbO6Vplv+31NbGw8NWrZs2TZembPGg9AzZrVcXd3o55NKzo592D5slkoFCndvnnzDjo598hU35xZ45k+YxG2dk5MnbqAObPHv1dbde7YljWLZrzXObKiUChYunQGbm59sLFpjbu7KzVqaLdL377diYuLp3btFixf/ptmsJ2Q8IqpUxfyyy8ztcqbmJRk9uxf6dDhaxo0aIOZWRkcHT/Psl4X115YWzvSvbsbNTPU26/fV8TGxVOrlj3Llq1n1sxfAahZI6U/bGxa4ezSk2XLZqJQKKhd6zP6f/s1zT53pqGtEx07tqFq1Uqa8y1bvh67Ru2wa9SOgwePa64JF5ee1LN25Ktsrom42Hhq1rJn6bL1zEp3TXR3d8PaphXOGa4JgDZtv8TWzokmTTtqtq1dM59fx8+ifoM27Nt7gJEjh2Rqk3kLp+DeZQBN7TrQtZszn31WTatMz97diIt7iq1NG1av3MiUaaO19s+c/SvHjviQ0eChfbh9KyTT9pwoFAr6Tx/EzD5TGd5mGJ+7NseqenmtMvcC7zHWeQSj2v/Euf1n6DWuLwCvXr5i+fAljGj7AzN7T6Xv5P4YGhXPU/1vSAoF/aYPYm6faYxq8wPNXJtjWd1Kq0xo4F3GO49kbPufOb//DN+M6wNA7ONYJn0xlnEdhzPBbQyuQ7pSqmypPGcoDG2hUCgYOGMw0/tM4cfW32Pv2iJThruBdxnVaQTD2/3IGa/T9P61n2bf3rW7WTJ8UZ7rzZjh19mjGPrNSL5o8Q3tv2hDlU8raZWJDI9k4k8zOLDniNb2hJcJTPhhGl1a9mTo1yMYPe0nShhlfoP6NpJC4otp/fit71zmtx1FfddmlKum/SY1PCiUJS7jWdRhLFcPnKfTuG8AqOlYH8valVnU8ReWdZ6Iw3fOFPmk2Dtl+HLat6zpO5tZbUfQ0PVzzDJkCAsKZb7LOOZ2GEPAgfO4jUv5O1G5wadUsf2MOe1HM9tpJBWsq1KtSa08Z8hXspz/D6Hw0NG+1unBOVASyDyd+gFcD4umvGkJrExKoK+npF3dinjf0J4Bl4D/EhIBeJ7wmjIlUl5IixnooadMafrXSWokpBzramRXn5CQUO7de0BiYiI7duzD1UV7Fs3VxYktW3YC8M8/XrRytE/d3o4dO/bx+vVrQkMfEhISSiO7+gCc8j1PTGxcpvpkWaaEUQkAjIxLoIp4lJemycTWpi7Gqef7kOzsbLTaZedOD1xcnLTKuLg4sXXrLgB2796vGWi/ePGSM2cu8upVglb5ypUrcOdOKFFRMQAcP+5L584dcqx3x459Wdar6Y/dXjim9oeLi1Om/rCzs6FGjWpcuODPy5cJqNVqTvmcy1Rvehmvib937MMlwzXhks014eLSjr+zuSayU716FU6dOgfA0WOn+OKLjlr7G9rW497d+9wPfUhiYiK7//Gig7P27GLHTm3Y/uduAPbtPUgLh6Zp+5zbcP9+GDdvBGsdY2FhRtt2Dmz5Y0eO+TKqZlOdyNBIHj98RFJiEqc9TmHbtpFWmcCz13id8BqA21duYWJuCkDEPRWRoREAxD6OIT4qHiMTozzVr50jgscPH6FOTOKshy+2bRtrlQk6e12T4066HOrEJJJeJwGgb6CPpMj5dSLnDAXbFtVtqhMRGsGjBykZfD18aOSk3Q7Xz17jdcIrTQbT1AwA105f5eXzl3muN7069Wvx8F4Y4Q9UJCUmcXDvURzaNdcqo3oYSfCNEJIzfFR+/+5DHtwLA+DJoyhiomIpZVoyzxkq2FQj+n4kMQ8fo05U4+9xltpOtlplQs4GkZjaF/ev3MHYzASActUtuXvhBsnqZF6/fIXq5gNqtLTOc4aKNtV4cv8R0akZLnucoa6TnVaZ4LOBmgyhV4IpaZbSFzIy+kX00dPXQ89AH6WekmdP4jPVIQjC+yn0g3NJkipJknRTkqRNkiTdliRpmyRJbSRJOi1JUrAkSY0kSZoiSdIGSZK8JUm6K0nSj6mHzwGqSpLkL0nS/NRtn0iStCv1nNskSXqnv3iPn77EzNhQ87ycsSGPn2n/8Rjcqh5eAfdwmr+bYVu8+aVT2ovwtYdRdFnmSbcVXkxwbaQZrGfFwtKMh2EqzfOw8AgsLMyyLaNWq4mPf4qpaSksLLI41lL72IxGjJrM3NkTuBdykXlzJjJ+wuwcyxcUCwszwtL9bOHhEVhYlMu2jFqt5unTZ5iaZj/7GBJyn+rVq1CxohVKpRIXFyesrCy0ylhamBP2MCJdvZFYWJpnKGNGWFiEpt74p6n9YWmu2Q4QHhaJpYU5gUG3sLdvhIlJSYoVK0r79q206h0yuC+X/I6wbu0CSpY0xsIy889umctrwjKrdku9JmRZ5sD+vzh/7gAD+qd9qhIUdBtX15TBf7euzpTP0Cbm5maEh6f9XKrwSMzNtfvC3KIc4WGRmjxP459jYlqK4sUN+Wn4QObNXk5Gs+aOZ8rEeZkGS29jYmZKdESU5nlMRDSmZqbZlm/dvS1XvC9l2l7Nujp6Bno8uh+Zp/rfKGVmopUjOiKaUqmDraw4dG9DgPdlzXMT89LMPbiEFed+4981u4l9HJvnDIWhLUzMTIlSabeDabnsM7Tp3pbLJzJneB9lzcsQqUqbaHgc8YRy5mVyOCJrderXRF9fn4eh4Xk+1rhcKeJU0ZrncRHRGJfL/vWosbsDN70DAFDduM9nLa3RL2qAYakSVGtai5Lm2bdhdkqWM8lThibujgR5+wMQejmY22cDmX5xLTMurOWGTwCPQvLeDvkqOTn/H0LhoaN9XegH56mqAQuBGqmPbwB7YBTwa2qZGkA7oBEwWZIkfeAXIESWZRtZlt98hl4f+BmoBVQBtNcsAJIkDZQkyU+SJL/fj/q9c+iDV0NxbVCVw6O7sKKXAxP+OUNycsrHJHXLl2b3j85sG9Se330CeZWofud6PrRBA3szcvQUKle1Y+Toqaxfu7CgI300cXHx/PjjeLZsWcmxY7u4fz8MtTr/++bmzTvMX7CK/V5/4umxlYCrgZp6167bTI2an2Nr50Rk5GPmzZ2YbzkcHL+gUeP2OLv0ZMiQvtjbp8xufjdwBIMH9eH8uQN8UqI4r18nfrA6x/76A6tXbOS//15obXdq78iTJ9EE+Ge+n+NDav5FS6rUrca/a/dobS9ZthQ/LB7OqlHLkD/Cx5v2qTk80uWIiYhibPufGd5iMC26OmJc2jhfMxSGtmj5hQNV61Vj79rd+VrPuyhd1pSZyycx6eeZ+d4ODTrbY1WvCt7rPAC4feoaN0/4M2z3VHou+4H7l4Pz/KY1r2w721OhXlWOr/sXgNIVy2FWzZJJTYYwsclgPm1Whyp2NfI1gyD8L/r/Mji/J8vyNVmWk4FA4Jic8sp4DaiUWsZLluVXsixHAY+BclmfiguyLIelnss/3fEasiyvk2XZVpZl2/5tbDOdAKCsUTEi49MGE4/iX1C2hPb6vz2XQnCqUwEA6wpleJWUTNyLV1plqpQ1xtBAjzuPMy8veUMVHqk1U2llaY5KFZltGaVSibGxEdHRsahUWRwbnvPMV+9eX7JnT8rNgLt2eWBn9343hOYXlSpSa3bZ0tIclepRtmWUSiVGRiWIjs559nH//qO0aOGGg8MXBAffJTj4ntb+cFUEVuXTZsotLc1QpZs1TikTiZWVuaZeY6PU/giP0GwHsLQyI1yVcuymTdtp0rQjrdt0Iy42nuDguwA8fhxFcnIysizz+4Y/sbOzQRWe+WcPz+U1EZ5Vu6VeE2+uqydPotm774Cm72/dCqFjp29o3KQDf/+9j7t3Q7XqioiIxDLdpwcWlmZEZFgOFaF6hKWVmSaPkfEnxETH0tDWminTx+B//QSDh/Zl+MjBDBjYk8ZNGtChY2v8r5/gt01LaN6iCWvWLyA3YiKjMTVPu4nNxNyU6MjoTOXqfm5Nl2FfMnfATM0SEoBinxRj3MaJ/LVgK8FXbueqzqzERsZo5TA1NyU2MiZTuTqf16PzsG4sGDBLK4fmPI9jCbv9gM8a5X19b2Foi5jIaEpbaLdD9KPMGerZW9NtmDuz+8/Ish3ex+OIJ5il+2StrHkZHkU8yfXxxT8xZMXWBSyfs45rl9/tDWP8o1hKWqTNdpc0NyX+UebXo+qf16H1sM5sHLAAdbp2OLZyL4s7jmNdr1kgSTy5G5Hp2LeJexSTqwyffl4Xp2FdWDdgnqYv6rVrROiVYF6/eMXrF6+44e1P5Qaf5jlDvhIz5/9bdLSv/78MztOPaJPTPU8m7esg05dRk/3XROa2XI5qW5ryIPoZ4bHPSUxSc+jafVrW0L7Ry7ykIedDUgY7dx/H8zpJTaniRQiPfa65AVQV95zQqKdYlMz+JquLfv5Uq1aZSpXKo6+vj7u7Gx6eh7XKeHgeplevLwHo2rUTJ7xPa7a7u7thYGBApUrlqVatMhcuXsnxZ1NFPKJli5T1wK0c7Qm+cy/H8gXFzy9Aq12+/NIFT0/tG7k8PY/Qs2fKN0N06dIRb+8zbz1vmTIpf7hKljRm4MBebNz4V471uru7ZVmvpj+6dMI7tT88PY9k6o+LF/216i1f3oLOnTuwffteAMzMymrO6+bWnsDAW5muie7ubnhmuCY8s7kmPD0P0z2La8LQsLc0rMoAACAASURBVBiffJJyHRoaFqNtm5YEBt7SyiZJEr+O+4l167Zo1XX50jWqVK1EhYpW6Ovr06VrJw56aX8L0IH9x/jqm5RvK3Hr3J5TJ1PWsHdq9w02dRyxqePImlWbWLxwDb+t28r0KQupU6M5NnUcGdD3Z075nGPwd6Ny7Ls37gQEY17ZnLLly6Knr8fnLs3xO3JBq0yl2pUZOHsIc/vP5Gl02rpZPX09Rq8bx8l/TnBu/9uvl5yEBARjVtmcMuXLotTXo6mLPZeyyDFg9lAW9J+llcPEzBT9IgYAFDcqzme2NYkIUZFXhaEtggOCMa9sQdny5dDT18PepQUXM2SoXLsKQ2Z/z6z+04mP/vDrmAP9b1ChihWWFczR09ejfec2nDzsm6tj9fT1WLxxDh47D3DU88Q7Z3gYEELpSmaYWJVBqa/ExqUpgUe0l+9Y1K5E11kD2DhgAc+jn2q2SwoJw5IpN6Ga16iARY0K3D51Nc8ZHgSEUCZdhgYuzbh2RPsTYqvalfhq1gDWD5inlSFWFUW1xrVQKBUo9JRUbVyTR3fC8pxBEISc6fr3nD8DPvydiICeUsEvzrYM+eM4yckybg2qUq1cSVYdC6CWhSkO/8fefUdFcbUBHP7NrmBJ7Mmngr3FErsYjVhARUVQ7InRRJOYRGPsNRpbbIlRo8YkduxiLxRBigJWQMACdrHQbICJsSDM98fiytLEBIRs3uccz9mduTP33fvOHe/enRlql2d0pybM3HucTUfPg6Iwo0cLFEUh+Ppt1viGUUCrQaPAJDsLSr5RKNO6kpKSGDFyCq4um9FqNDiucyIs7CLTp40lMCgUZ+eDrFm7lXWOSzgf5k9cXDz9+uvugw0Lu8iOHfs5E+rDs6Qkho+YrP8pdOOGZbRp3YK33ipFxNVAZsz8ibWOW/nqq3EsXDiTAgUK8OTxY4YMGc8Rl1//dluNmzaPgODTxMc/oJ1Df4Z+NoCe9n//sXCp22XkyO/Yv38DWq2WdeucCA+/yNSpowkKOoOLy0EcHZ1Ys+Znzp3z5f79eD7+eJh++wsXjlC0aFFMTU2wt++InV1/zp+/xIIF06lXTzdDOWfOz1xO8+Xkeb0uzpvQaDWsc3QiLPwi06aOJeiULh9r127Fce1iwsL8ibsfT/8BKfkI1+UjNNSbpGdJjBgxRZ8Pp60rKF26JImJzxg+YjIJCbr/FOfOmUyDBnVRVZXr128y9OuJ+mPCJc0xMW3aWIJSHROOjksITzkmPkp1TGzfsZ/TaY6JMmXeZsf21QBoC2jZunUPHh6HAPigrwNfDRkIwJ49rjiuc6JowSIGbTJ+7Ax27FmDVqNl04YdnD9/mUmTRxAcfIYDrt5sXL+d31f+RGCIJ3Fx8Xw+aNQ/PgYyk5yUzOqpK5i8fjoarQafbV7cunSTvqP7ceX0ZQI9TzLg20EUKlKYMb+OB+Bu1F1++Hw2LexaUrtZXYqWKIpVL91jK5eNXUJE2Kt/SU1OSsZx6komrZ+GRqvl0DZPbl26Sa/RH3Lt9GWCPAPo9+1AChUpxIiUOO5F3eGnz+dgXr08/acMQlVVFEXBecVebl64/q9si+SkZFZ+9zvTNsxAo9Xg5eTJzYs3+HD0R1w+c4mAgyf5ZPIgChUpxLjfJgJwJ+oOcz/TPeVp9o55mFcrT6E3CrHyxFqWjVtCiG/WkwxpJSUlMffbhfy2ZREarZY9W5y5cuEaQ8d/zrmQ8xz28Kduw9osWjOXYiWK0qaDJUPHfUaPNv3p2LUdjZs3pHjJYnTtq7sZeuqI2Vw4d+kltaZvh91THRm8fhKKVkPAtkPEXrpFx1G9uHnmGmGeQdhN6kfBIoUY8OsIAOIj77F28E9oTQrw9fZpADz+8xGbRy0jOYunfGUVw46paxi6/ls0Wg3Htx0i5tItbEf15saZq5z1DKLbpP6YFinEoF91fTQu8i4rB88nxPU4Nd9/l4nuP4GqEn44hLNep15S42umysz2f4qR5lt5HddS/hOKolQGnFVVfTflvWPK+x3P1wE7gD9VVf0ppcxZwE5V1QhFUTYD9QE3wAUYq6qqXUq5X4BAVVUdM6v/0baZed5ARfsvz+sQeBTll9chAFC0fNs8rT85n5wI8kO/TT04zyvtSuX9Y9wKvORpS6/DM/L+eHiWD/rG1afpL5XJCx0KVcrrEHhK3udjSYTTa+8cjzZOzvXOULj/7Lzv9ALI/XznVa7z/cy5qqoRwLup3g/MbF2q5anL90uz+lCqdcMQQgghhHGQa8L/W4w03/+Wa86FEEIIIYQwejI4F0IIIYRxyCd/IVRRlE6KolxQFOWyoigTM1hfUVEUH0VRghVFOa0oim1G+xEvYaS5lsG5EEIIIUQOURRFCywDOqP7myofKoqS9gaZKcA2VVUbAR8Af/+pCyLP5Fau8/0150IIIYQQ2ZI/rkFuBlxWVfUqgKIoW4FuQFiqMipQLOV1ceDVn5Mq8kO+cyXXMnMuhBBCCJFNqf+KeMq/L9IUMQdupnp/K2VZatOB/oqi3AJcgW9yLWDxt+VVrmXmXAghhBDG4TXMpKqqugJY8Q938yHgqKrqAkVRWgAbFEV5N+Wvl4vsyuV851WuZXAuhBBCCOOQP8a2kUCFVO/LpyxL7TOgE4CqqscURSkEvAXcfi0RGou8z3eu5FouaxFCCCGEyDkBQA1FUaooimKK7ibAfWnK3ADaASiKUhsoBNx5rVGKnJAruZaZcyGEEEIYBTU57/9arqqqzxRFGQa4A1pgjaqq5xRFmYnur5LvA8YAKxVFGYXuhsGBan7408//Mnmd79zKtQzOhRBCCCFykKqqruhu/ku9bGqq12FAy9cdl8h5uZFrGZwLIYQQwjjk/aP1xOtkpPmWwflLFB/wT2/S/eeUvA4gH/nj1qG8DoF6dfrmdQi8X6RSXofAjjun8joE3O6czusQ0Ch530OfJj3L6xBISk7K6xAoUfjNvA4BAJfkvM/Hg8SHeR0CS/I6ACH+pWRwLrKlaPm2eR1CvhiYCyGEyMfy/ukd4nUy0nzL01qEEEIIIYTIJ2TmXAghhBDGIR88rUW8Rkaab5k5F0IIIYQQIp+QmXMhhBBCGAcjfXqHyISR5ltmzoUQQgghhMgnZOZcCCGEEMbBSGdSRSaMNN8ycy6EEEIIIUQ+ITPnQgghhDAOqnE+vUNkwkjzLTPnQgghhBBC5BMycy6EEEII42Ck1yCLTBhpvmXmXAghhBBCiHxCZs6FEEIIYRyM9C9GikwYab5l5vwV2di05eyZw4SF+TNu7Nfp1puamrJp46+Ehfnj77efSpXKA1CqVAk83Ldx/94Ffv55lsE2M2eM58rlk9y/dyH7MZz1JTzMn3HjMolh02+Eh/lzxP9FDADjxw8jPMyfs2d96dChjX75iOGDCQnxJjjYiw0bllGwYMEsY+jQoQ2nT/tw7pwvY8cOzTCGDRuWce6cL76+ew3awd19K3fvhrNo0UyDbXr1sicgwJ1TpzyZNWtSttoiu6bMWUjrLh/g0P+rHN1vViytWuB2dAfuJ3Yx+JtP0q1v2rwROz03cDbqGB3trHOs3nfbNGSO12LmHlqK7RCHdOttPrNj1sFFzHBbwNhN0yht/pZ+3aorTkx3nc901/l8s3LCK9XbvkNrgoI9CTntzagx6dvZ1NSUteuWEHLaG+9Du6hY0RyAJk3q43/MGf9jzhw57oKdvY1+mzNhvhw76Yb/MWcO+e3NVgynQrwIPePD6ExiWLd+KaFnfPA5vFsfg5W1JX5H9nHipBt+R/bRpk0L/TY9e3bh+Ak3AgLdmfl99tokp9uiYEFTfA7v5shxF04EHODbySNfGkNu9FETExOWLZvHmTOHCA31xsGhc7r95sb5qXjxYmzduoIzZw5z+vQhmr/XBIDp08dxKugggQEeuLpspkzZ/6Wrz7pdK44FHuBksAfDRw3OIB4TVq5dxMlgDw54baNCSi4qVDTnRkwoPn578PHbw/xFM9Jtu2HLb/ge259ueVYsrZrjenQ7B07s5PNvPk63XndeWM+ZqKPYpDkvrNi6mBOXvPht48JXqhOgbTtLfE864x/kxtcjP0+33tTUhN9W/4R/kBv7D26hfAUz/bradWuyz30T3kf34nlkNwULmgLQractnkd2c9B/Fxu3L6dkqRKvHJcQIr08G5wrilJZUZSzr1DeUVGUXimvVymKUieDMgMVRfklJ+NMTaPRsHjxLOy7DqBBAyv69u1G7Vo1DMoMGvQBcfEJ1KljyZIlK5kz+1sAHj9+wvQZ85kw8ft0+3V28aSlpV22Y1iyeDb29v2p38CKD/o6ULu2YQyfDvqQ+LgEatexZPGSlcyZMxmA2rVr0LdPNxo0tMbO7iOWLpmDRqPBzKwsX3/9Kc2b29KoUTu0Wi19+3R7aTt06/YJDRu2o0+frtRK0w4DB/YlPj6BunVbs3TpKv1g+/HjJ8yYsYCJE2cblC9VqgRz535L584f0rhxe8qWfRsrq5bZapPscLDtwO8LZ728YA7RaDRM/WE8gz8cgZ1lH7r0sKFazSoGZaIjY5g0fAbOu9xzrF5Fo6H/zM9ZNHA2UzqM4r2ulphVL29Q5kbYNWbaT2Ba5zEEuh2j96QB+nVPHz9luu04ptuOY+ngH7Jdr0ajYcHCGfTsPgiLJh3p1dued2pVNyjz8Sd9iI9/QMP61iz7ZQ0zUga6YWEXaWPZDcsWdvRwGMjipbPQarX67bp07odlCzvatsr8mHwew8JFM+nhMJCmjW3o3bsrtdLE8MnAPsTHJ9CgnhXLlq7m+1kTAbh37z69e33Oe8068+XgsaxcrRv8lCpVgllzJmHX5SMsmnakTJm3adv2/dfeFk+ePMXO9iNaNu9CyxZ2tO/QGguLhlnGkNN9FGDixG+4c+cu9eq1pWHDdvj5HU9Xb06fnwAWLZyJh7sP9eq1oUmTDoSfvwTAggW/0bhJB5pa2ODq6snYCV+ni2fegql80OtzWjbrQveedtR8p5pBmY8+7k18/AOaNbLh918dmTpjrH5dxLUbWLVywKqVA+NGTTPYrot9Bx4+fJhpDjKi0Wj47ofxfPHhCOwt+9KlR8d054WoyBgmDZ+Jyy6PdNuvWbaRCV9PS7c8O/XOnj+Z/r2/wqp5Vxx62lIjTTt8OKAnCQkPsGzSmZW/rWfy9NEAaLValiyfx8QxM7F+vxu97QaSmPgMrVbLzLkT6W0/iA6WPQgPu8igwf1eObYcpybn/j+Rfxhprv+VM+eqqn6uqmrY667XwqIhV65EcO3aDRITE9m2bS/2qWb5AOztbdiwYTsAO3e5YGVlCcBffz3i6NEAHj9+km6/J0+eIibmdrZiaGbRyCAGp217sbfvmHkMO12wTonB3r4jTtv28vTpUyIibnLlSgTNLBoBUKBAAQoXLoRWq6VI4cJERcdkux22b9+fYTts3LgDgF27XPUD7eft8OTJY4PyVapU5PLlCO7evQ+At7d/hrNyf1fThvUoXqxoju3vZeo3rsuNaze5dT2SxMRnuO4+SLtObQzKRN6M5mLYZdQc/FmuasPq3L4ew52bt0lKfMaJ/UdoaGNhUOb8sXM8ffwUgKvBlyhZtvQ/rrdp0wZcvXqdiIibJCYmsnOHM13sOhiU6WLXni2bdgKwZ7ebfpD76NFjkpKSAChUsODffjJW06YNuHrlRQw7duxPH0OXDmzaqIthd6oYToeGEROt64NhYRcpVKgQpqamVK5SkSupjksfnyN0c+iUJ23x8OFfAJiYFKCASQHULBoqN/oowCef9OHHH5cBoKoq9+7FGazPjfNTsWJFsbR8jzVrtwCQmJhIQsIDAP7440/9fou8USRdmzRuUp+Iq9e5HnGLxMRE9uxyoXOXdgZlOtta47R5NwD797jTKtWvJpl5440iDPl6EAvn//bSsqnpzgu3uHU9KuW84IF1p9YGZaJSzgvJGdzodtwvgId//vVKdQI0alKPiKs3uXFd1w57d7nS0dbKoIxNZ2u2b9H9OuWy1wPLNs0BaGP9PuHnLhJ2VvfLblxcAsnJySiKgqIoFHmjMABFi75BbMydV44txyWruf9P5B9Gmuu8HpxrFUVZqSjKOUVRPBRFKawoSkNFUY4rinJaUZTdiqKUTLuRoiiHFEVpmvJ6kKIoFxVFOQm0TFXGXlGUE4qiBCuK4qkoShlFUTSKolxSFOXtlDIaRVEuP3//MuZm5bh1M1r/PjIyBjPzcmnKlOXWLV2ZpKQkEh48oHTpdB/hbzMzL8utW1GpYojG3KxsujI3U8okJSWRkKCLQReb4bZm5mWJioph0aLfuXrlJDdvBPPgwQM8PX0zjyGj/ZiVybRMUlISDx78kWU7XLlynRo1qlKpUnm0Wi329jaUL2+Wafn8rkzZt4mOjNW/j4mOpUy5bB1m/0iJMqW4H3VX/z4u+h4ly5TKtHyrPtacORSsf29S0JSp+35g8u45NEozqM9KuVTHPUBUZDRm5cqkKVPGoG88ePAHpVKOiaZNG3Ai4ADHTroxcvgU/QBVVVX27FvHYf+9DBz0QZYxmJmV5VZkmv6Ztm+YldGX0fXP9Melg0NnQkPO8vTpU65eiaBGzapUrGieclx2wPwlx2VutYVGo8H/mDNXIgLw8T5CYGBo1m2Rw320ePFiAEybNpZjx1zYtOk3/ve/twzK5Mb5qUqVity9e4/VqxYRcNKd5b/Pp0iRwvpyM2dO4OqVAD78sDs/zF5sUFc5szJERr6YaIiKjKVcmlyULVeGyMg0uSila4eKlcrj7bebvS4baN6iiX6biZNH8Osva3j0KP0XmKz8r+zbxKQ6L8RG334t54Wy5coQlapvREfFUjZtO5j9j6iUtnreDiVLlaBqtcqgqmzasYIDh7YzZPinADx79oxJY77Hy38Pp8IPUeOdamzZsDPXP4sQ/wV5PTivASxTVbUuEA/0BNYDE1RVrQ+cATL9DU9RlHLADHSDcksg9aUu/kBzVVUbAVuB8aqqJgMbgY9SyrQHQlVVNfi6ryjKF4qiBCqKEpic9Go/W/4blShRHHv7jtSo2ZyKlRpT5I0i9OvX47XGEB+fwPDhk9mwYRleXju4fv2WflAickdzh1ZUrl+NAyteXMs9ruUQZnadwIrhP/Ph1EG8XbFMFnvIOYGBobxn0Ym2rR0YM3aI/prWju370LplV3p2/5TBXw7g/ZbZ/8Lwd9SuXYOZsyYw/BvdpRbx8Q8YOeI71m34BQ/PbVy/Hpnrx2VmbZGcnIxlCztq13yfJk3qU7tOzVyNI60CBbSUL2/G8eNBtGjRhRMngpg3b0ru16vV0qhRPZYvX49Fs448fPgX48cP06+fOvUHqlazYMuW3Xz2Rf8cqzc25jaN6lph3ao7302ex++rFvBm0Td4t14tKlepiKuzZ47VlZ9pC2ixaN6YYV+Mx6HzADp3aYdl6/coUKAAH3/al45tetG4dlvCz13kmwyu6X/d1OTkXP8n8g9jzXVeD86vqaoakvI6CKgGlFBV9XDKsnVA6wy31HkPOKSq6h1VVZ8CTqnWlQfcFUU5A4wD6qYsXwM8vwvnU2Bt2p2qqrpCVdWmqqo21Wjf0C+PjIqmfIUXM+Xm5mUNZiN0ZWIoX15XRqvVUrxYsXQ//f4TUZExBjPK5ubliIyKSVemQkoZrVZL8eK6GHSxGW4bFRlDu3atiIi4wd2793n27Bl79rjRonnTzGPIaD9RsZmW0Wq1FCtW9KXt4OrqSevW3WjbtjuXLl3l0qVrL2mN/Cs25g7lzF8MbMuWK0NsdO7/5Bsfe59SZi9mM0uWK01c7P105eq0rIfdsJ4s+Xwez54+M9ge4M7N25w/fo6Kdauk2zYj0amOewAz83JERcemKRNr0DeKFSvK/TTHxMULV/jz4UPq1HlHt03KPu7euYfzPg+aNG2QaQxRUTGUN0/TP9P2jahYfRld/3xxXJqZl2Xz1uV88fkYrl27od/GzdULqzbdaWfVk0uXrnL5JcdlbrXFcwkJf+Dne5z2HTI/NeZGH713L46HD/9izx43AHbtcqFhw3cN95kL56dbkdHcuhXNyQDdLzw7d7nQqGG9dPFt2bILu66Gl+5ER8Vibv5i5t7MvIz+mHouJjoWc/M0ubgfx9OnicTFxQNwOuQcEdduUK16FZo2a0TDRu8SdNoL5wObqVa9Mnuc12fabqndjrlD2VTnhTLl/vdazgsx0bEGv/KWMytDTNp2iLqNWUpbPW+HuPvxREfFcuJoEHH343n86DHeB/14t0Ed6tarBcD1iJsA7N9zgCbvZX4fhBAi+/J6cJ76AuwkICdv9V4K/KKqaj3gS6AQgKqqN4FYRVGsgWaAW3Z3GBgYSvXqVahcuQImJib06dMNZ+eDBmWcnQ8yYEBvAHr26MKhQ0dy5tOkCAgMMYihb59uODsb3jjk7OzxIoaeXfBJicHZ2YO+fbrprqWtXIHq1atwMiCYmzciafZeYwoXLgSAtZUl51NuuMpI2nbo3ds+w3bo378XAD162HLo0NGXfra339Zd+1yiRHG++GIAa1OuMf03OhMcRqWqFTGvaIaJSQFsu3fA2z3zS4VyyrXQy5SpXI63yv8PrUkB3rNvScjBAIMyFetW4eM5X7Lk83n8ce+BfnmRYm9QwFT3dNU3SxalRpNaRF+6la16g4JOU7VaZSpVKo+JiQk9e9nh6mI4s+jq4sWHH/UEwKF7Zw4fPgagv5QJoEIFM2rWrMb1G7coUqQwb76p+3JcpEhhrNtZEh52McsYqlV/EUOvXvbpY3D15KP+uhi6p4qhePGi7Ny5hmlTf+D48SCDbV4cl8UY/EV/1jk6kZXcaIvSb5WieHHdPROFChXEytqSSxeuZhpDbvVRFxdP/ZNsrKxaEh5ueJ7IjfNTbOwdbt2KomZN3Q2M1taWhIfrjoPq1V98eexq35HLlwzbJPjUGapUq0zFlFw49OjCAVdvgzIHXL3p2687APYOHfH31d3kWrp0Sf0NqZUql6dqtcpcj7iJ4+ot1KvViib122HXqR9XLkfgYJf+qSsZ0Z0XKqQ6L9jg4+6XrW3/iZBTZ6lSrSIVKppjYmJCtx62eLj5GJTxOOBD7w91N1136WbDEd8TABz2OkKtOjUolHJPUvOWTbl04Qox0bHUeKea/nKs1m3f53IWx+RrI9ec/7cYaa7z23POE4A4RVFaqarqBwwADmdR/gSwWFGU0sADoDfw/ELM4kBkyuu0z7Fbhe7ylg2qqmb7N+qkpCRGjvwOF+dNaLQa1jk6ERZ+kWlTxxJ0KhRn54OsXbsVx7WLCQvzJ+5+PP0HvHiE2cULxyhWrCimpiZ0te9Ily79CD9/iblzJtO3rwNFihTm6pUA1q7dwvezMn5UVlJSEiNGTsHFZTNajQbHdU6EhV1k2rSxBAXpYlizdiuOjksID/MnLi6ej/rrYggLu8j2Hfs5HerDs6Qkho+YTHJyMicDgtm1y4WTJ9159uwZoSHnWLlq00vbYf/+DWi1WtatcyI8/CJTp44mKOgMLi4HcXR0Ys2anzl3zpf79+P5+OMXP0NfuHCEokV17WBv3xE7u/6cP3+JBQumU6+e7sqkOXN+5vLlnJs5HzdtHgHBp4mPf0A7h/4M/WwAPdPcqJaTkpKS+H7ij6x2WoJGq2Xn5n1cvnCVbyZ8ydmQcHzcfXm3YR1+cfyRYsWLYWVjybDxX2Lfuu8/qjc5KZmNU1cxev0UNFoN/tu8ibp0C4dRfYk4c4UQz0D6TBpAwSKFGPrrGADuRd5l6eAfKFe9PJ/M+QJVVVEUBdffdhN1OXuD86SkJMaNmc7uvevQajVsWL+d8+GXmDxlJKdOncHN1Yv165xYsWohIae9iYtLYNAnwwFo8X5TRo3+isRnz0hOTmb0yKncvxdH5coV2LT1d0B3acP2bfvwPJj5F5ykpCTGjJ7Gnn3r9TGEh19iynejOHXqDK4unqxzdGLV6kWEnvEhLi6BgR9/A8CXX31C1WqVmDhpOBMn6eLqZv8xd+7c48f5U6lXrzYA8+YueelxmRttUffdWvy+Yj5arRaNRmH3TlcOHPDOMobc6KNTpsxlzZqfmT9/Gnfv3ueLL8akqzenz08AI0d9x/p1SzE1NeHqtRt8/rnuSSKzZ0+iZs1qqMnJXL8RyaQxM9PFM2nsTLbtWoVGq2XLxp1cOH+ZCd8OJyT4LO5u3mzasINfV8znZLAHcXEJfPHpKF0uWlow4dvhPEt8RrKazNhR04iPS8gy9y+TlJTErInzWeW0BI1Ww67N+1POC1+knBf8eLdhbZbqzwut+Gb8F9i31t1vsWHfCqpWr0SRNwrjE7KfKaNmc8Tn+Etq1dU7ZfxsNu9cgUarwWnTbi6ev8LYScMIDTnHQTcftm7YyZLf5+Ef5EZ8XAJDP9M9tSYh4QErfl2Hq5cTKireB/3w8tD1w0U//soul3UkPntG5M1oRg399h+1jxBCR8nqjv9crVhRKgPOqqq+m/J+LPAmsAf4HSgCXAUGqaoapyiKY0r5HYqiHALGqqoaqCjKIGASumvWQ4CnqqoOUxSlG7AIiAO8AQtVVdum1GUC3AOaqap6Pqs4TQuWz/OvyXmVo9S0Gu3LC+WyP24dyusQAKhX558NoHPC+0Uq5XUI7LhzKq9DIDkf9A2NouR1CDxNevbyQrksKTnv7xEpUfjNvA4BgLcKFs/rEHiQmPf3S0XGnXvtnePhrP65flJ4Y8rGvO/0Asj9fOdVrvNs5lxV1Qjg3VTvf0q1unkG5Qemet021eu1ZHzd+F4gs79a0gDdjaBZDsyFEEIIIYR4nfLbZS25TlGUicAQXjyxRQghhBDGQK4J/28x0nzn9Q2hr52qqvNUVa2kqqp/XscihBBCCCFEav+5mXMhhBBCGCl5Dvl/i5Hm+z83cy6EEEIIIUR+JTPnQgghhDAORnoN7p3KYwAAIABJREFUssiEkeZbZs6FEEIIIYTIJ2TmXAghhBDGQTXOa5BFJow03zJzLoQQQgghRD4hM+dCCCGEMA5Geg2yyISR5ltmzoUQQgghhMgnZOZcCCGEEEZBNdLnXouMGWu+ZXD+Eslq3v9kouR1AECykd508XecCXPK6xB4q3KHvA4hX/SNx8+e5nUI+aJ/lij8Zl6HwIMnf+V1CGiV/PFj8P0nD/I6BApotHkdghDib5LBufjXqFenb16HkC8G5gB3Iw7miwG6EELkK0Z6DbLIhJHmWwbnQgghhDAORjpYE5kw0nznj98AhRBCCCGEEDJzLoQQQggjIfdH/bcYab5l5lwIIYQQQoh8QmbOhRBCCGEcjPQaZJEJI823zJwLIYQQQgiRT8jMuRBCCCGMgmqkM6kiY8aab5k5F0IIIYQQIp+QmXMhhBBCGAcjnUkVmTDSfMvMuRBCCCGEEPmEzJwLIYQQwjgkG+dzr0UmjDTfMnOeDR1t2nLurC/nw/wZP+7rdOtNTU3ZvOk3zof5c9R/P5UqldevmzB+GOfD/Dl31hebDm0AKFiwIMeOOBMUeJDQEG+mTR2jLz90yEDOh/nz7GkkpUuX1C+3sWnL2bO+hIf5My6TGDZt+o3wMH+OpIlh/PhhhIf5c/asLx1SYgC4dPE4wac8CQzw4PgxV/3y774bTcS1QAIDPAgM8KBTJ+sXMZw5TFiYP+PGZhLDxl8JC/PH3y9NDOO+JizMn7NnDhvEMGzYZwSf8iQk2ItvvvnsRQxTRnPtaiABJ90JOOmujyG7LK1a4HZ0B+4ndjH4m0/SrW/avBE7PTdwNuoYHe1ebd9/15Q5C2nd5QMc+n+V4/tu1741gacOEhzqzajRX6Zbb2pqytp1SwgO9cbLZycVK5oD0LhJffyO7sfv6H78jzljZ2+j36Z48aKs3/gLAac8OBnkjkWzRlnG0L5Da06FeBF6xofRY9J/RlNTU9atX0roGR98Du/Wx9CkaQOOHnfh6HEXjh13xb7rixh+/f0HrkUEcDLgQIZ15VSfhMz7eWZ9cszor/R95NKl4zx9couLF47lSP+sWbOaft+BAR7cu3ue4d98DmTeP9OybteKY4EHOBnswfBRgzOIyYSVaxdxMtiDA17bqJCSjwoVzbkRE4qP3x58/PYwf9EMAAoXLsTmbcs5GuCG33Fnvps+Jt0+07Lp0JYzpw8Rds6PsWOHZtguGzf8Stg5P/x89+nbpVSpEri7O3Hv7nl+XvR9hvveuWMNp4I8XxpDalbtLPEPcOXYqQMMG/l5BvGYsHzNQo6dOoCr51YqVDTTr6tdtybOHls4fGw/Pkf2UrCg6SvVeyTQjePB7nyTSS5WrF3I8WB33LycDHIREROCl99uvPx28+Oi6QC88eYb+mVefrsJu3qM7+dOyjKGtu0s8T3pjH+QG19n8tl/W/0T/kFu7D+4hfIVDD/7PvdNeB/di+eR3RQsaMobbxbBw3en/t+Zy/7MmDMx220ihMjcv2LmXFGUQ8BYVVUDsygzEGiqquqwnKxbo9GwZPFsOtl+yK1b0Rw/5sp+Zw/Cwy/py3w66EPi4hKoVceSPn26MnfOZPp9NITatWvQp0836je0xsysDO5uW6ldtxVPnjyhvU0fHj78iwIFCuB7aDcHDvhw4uQpjh4LwMXVE6+DO9LF0DlVDM4ZxBAfl0DtlBjmzJnMRykx9O3TjQYpMRxw20qduq1ITvm22b5Db+7di0v3uRcvWcmiRcv177VaLYsXz8LWth+3bkVz7KiLLobzL2IYNOgD4uITqFPHkj69uzJn9rd81H8otWvp2qFhSgxubluoW7c1tWvV4LNPP+T9lnY8fZqIs/NGXF29uHIlAoAlSw1jqFq8XLZzNvWH8XzaexixUbFs91iHt7svVy5e05eJjoxh0vAZfDq0f7b2mRMcbDvQr2dXvv3+pxzdr0ajYcHC6Th0/YTIyBh8fHfj6urFhfOX9WU+/qQ38fEJNGpgTc9edsz4fgKDPhlOeNhF2rZyICkpiTJl3ubIcRfcXL1ISkpi3o9T8Tzoy8f9h2FiYkKRIoWyjGHhopl0tRtAZGQMvn57cXXx5HyqGD4Z2If4+AQa1LOiVy87vp81kU8+/oawcxdo1bKrLoayb3P8uCuuLroYNm3YyfLf17Ny5YIM67py/UaO9Ekg036eUZ8EWLDwdxYs/B2tRsP1iCCOHw+iXfteOdI/L168QlMLG/3nvR4RxJ69bvr9pe2fJQq/mS4f8xZMpbfDIKIiY/Hw2cEBV28uXriiL/PRx72Jj39As0Y2OPS0ZeqMsQweNAqAiGs3sGrlkC7Py5au4YjfCUxMTNi1z5F27Vvj5emb6TGxePEsbLvozhlHjzjj7HyQ86nPGQM/ID4+njp1W9G7d1dmz/qW/gOG8vjxE2bM+Im6dd6hbt130u27W7dO/PnwYYb1Zkaj0TD3p+/o4/AZ0VGxHPDZhoebj0Gb9BvQi/j4BFo07kS3HrZMmT6WLz8djVarZdmKHxn25QTCzl6gZMkSJCY+y3a98xZMpY/Dp0RFxuLusx33NLno93Ev4uMf0LxRRxx62vLdjDF8MWg0ANev3aBdq+4G+3z450ODZR6Hd+Ky/2CWMcyeP5kPuw8mOioWV28nPNx8uJQqhg8H9CQh4QGWTTrTtUdnJk8fzZDPxqLValmyfB4jvpqU8tmLk5j4jCdPnmLTuqd+ezefbbg6Zx7Da2Ok1yCLTBhpvmXm/CWaWTTiypUIrl27QWJiItu27aWrfUeDMl3tbdiwYTsAO3e6YG1lmbK8I9u27eXp06dERNzkypUImlnoZh8fPvwLABOTAhQwMUFVdQdYSMg5rl+/lWUMTtv2Yp8mBvtMYrC374hTJjG8CguLhunawT7VLGu6GHa5YKWPwSZdO1hYNKRWreqcPBnCo0ePSUpKws/3OA4OnV85trTqN67LjWs3uXU9ksTEZ7juPki7Tm0MykTejOZi2OXX+himpg3rUbxY0Rzfb5OmDbh69ToRETdJTExk1w5nunRpb1DGtkt7Nm/aBcCe3W60adsCQN/2AIUKFdQfh8WKvUnLlhasX7cNgMTERBIS/sj8szVtwNUrL2LYsWM/Xew6GJTp0qUDmzbuBGD3bjfatn0/fQwFC6KmSsmRIyeJux+fZV050Sez6ucZ9cnUmlk0QlVV1q1zypX+aW1tydWr17lxIzLTGNJq3KQ+EVevcz3iFomJiezZ5ULnLu0MynS2tcZp824A9u9xp1WbFlnu89GjxxzxOwHojofToWGUMy+Tafl054zt+zI+Z2zUfenZtcsFK6uWAPz11yOOHg3g8ZMn6fb7xhtFGDFiMHPnLnlJKxhq1KQ+167e4Mb1lDbZ6UpHW8NfHTraWrNty14AnPe6Y9mmOQBtrVsSdvYCYWcvABAXF6+f4HiZxin1vsiFK53S5KKTbTu2bd4D6HJh+ZJcpFa1WmXeeqsUx49mOndFoyb1iLh6U//Z9+5ypaOtlUEZm87WbE/57C57PfSfvY31+4Sfu5jqsyek++xVq1XirbdLceJoULbjFkJkLlcG54qijFMUZXjK60WKoninvLZWFGWToig2iqIcUxTllKIo2xVFeTNlfRNFUQ4rihKkKIq7oijl0uxXoyiKo6Ios1LeD1IU5aKiKCeBlqnK2SuKckJRlGBFUTwVRSmTsu0lRVHeTrWvy8/fZ8bMvCw3b0Xp39+KjMbMrGymZZKSkkhIeEDp0iUxM8tgW3PdthqNhsAAD6IjT+Pl5cvJgOAsY7iVaj+RkdGYZzMGc7P02z6PQVVV3Fy3cOK4G59/9pHB/oYOGcSpoIOsXLGAEiWKY25Wjls3o1PtJwYzc8OZbF1d0S9ieJDSDubl9MsBIm/FYG5WjnNhF7C0bEapUiUoXLgQnTpZU778i59Sh3w1kKDAg6xY/hMlShTPtH3SKlP2baIjY/XvY6JjKVMuyzT/q5mZlSHylmFuypkZDprKmZXVl0lKSuJBwh+USrlEo0nTBhwPcOPoCVdGjfiOpKQkKlWqwN279/n19x/xO7KPpb/MoUiRwlnEUJZbkWmOj7THqFkZfRnd8fGH/jKRphYNCQh050TAAUaMmKwfrGenrpzok9np55mpXKUCJUuWYNdu15TPnjP987m+fbrh5LTHYFna/plWObMyREbG6N9HRcZSrpzhMVG2XBkiU+XjwYM/KFVKl4+Klcrj7bebvS4baN6iSbr9FyteFJvOVvgdPpZpu6Rt6wzbJdXnfx5D6kuHMjJ92jh+/nkljx49yrJcWuXK/Y+oVG0SHZW+TcqVK0NUqjb548EflCpVgqrVK6MCW3auxOPwTr4e/hnZVdbsxT4BoiJjKJuu3v8Z5OJ5vaDLhaffLna7bOC9DHLh0NOWvbvd0i03iKGcYQzRUbHpYihr9qJ9nueiZKkSVK1WGVSVTTtWcODQdoYM/zTd/rv2sGXfrgPplueJZDX3/4n8w0hznVsz535Aq5TXTYE3FUUxSVl2GpgCtFdVtTEQCIxOWb8U6KWqahNgDTA71T4LAJuAS6qqTkkZuM9ANyi3BOqkKusPNFdVtRGwFRivqmoysBF4PgptD4SqqnonZz969iQnJ9PUwoZKVZpi0bRRhj/d5ra2Vt1p9l4n7Oz7M2TIQCwt3wNg+fL1vFPrfZo0tSE65jbzf5yaK/WfP3+Z+T/9iqvLZpz3byT09Dn9oGz5ivXUqt2SphY2xMTc5scfvsuVGAQEBYbS3KIzVm26M3rMVxQsaEqBAgVo0LAuq1dtolXLrjz86xGjMriOPKcEBoRg0bQjbVp1Y8zYoa90PW9ea9KkAbdv3yUuLv7lhV+RiYkJdnY27NjprF+W2/0zNuY2jepaYd2qO99NnsfvqxbwZtE39Ou1Wi0rVi9k1e8buB6R+S8KuaF+/TpUrVqJffte70CwgFbLe80b8/XgcXTr9BGd7dpj2bp5rtcbG3ObxnWtad+qB9Mmz+O3VT8Z5AJ0g/PdO1xyLQZtAS0WzRsz7IvxOHQeQOcu7bBs/Z5BmW49OrNnp2smexBCvKrcGpwHAU0URSkGPAGOoRuktwIeoRtIH1EUJQT4BKgEvAO8CxxMWT4FKJ9qn8uBs6qqPh+wvwccUlX1jqqqTwGnVGXLA+6KopwBxgF1U5avAT5Oef0psDaj4BVF+UJRlEBFUQJv3bpGhVSzueXNyxEVFWNQPioyRl9Gq9VSvHgx7t2LIyoqJv22kYbbJiQ84NDhI3S0aZtRKPr9p55RNjcvR2Q2Y4iMSr/t8xief447d+6xZ68bFhYNAbh9+y7Jycmoqsrq1ZtoatGQyKhoylcol2o/ZQ1mYoCUusq9iKFYSjtERuuXA5iXL0tklG5bR8etNG9hS7v2vYiPS+DSpavpY1izWR9bdsTG3DH4ub1suTLERufJd7DXIioqFvPyhrmJjoo1KBMdFaMvo9VqKVa8KPfT3Gtw8cIVHj78izp13iEyMprIyBiCAkMB2LvHjQYN6pKZqKgYypunOT7SHqNRsfoyuuOjaLr7HS5cuMLDPx9SJ4svq2nryok+mbp8ZvvMTKNG9YhPSEj12XOmfwJ06mRFcPAZbt++q1+WUf9MKzoqFvNUM/Bm5mWIjjY8JmKiYzFPlY9ixYpy/34cT58m6r9onA45R8S1G1SrXkW/3cLF33P1SgTLf1uXZbukbesM2yXV538eQ0b3wDzX/L0mNG5cnwsXjuLttYsaNarg4bEtyziei46+bfCrRDmz9G0SHR2r/0VQq9VStFhR7t+PJyoqluNHA7l/P55Hjx7jddCX+g3qkB0xUbEGvzKamZclJl29tw1y8bze9Lm4aZCLOu++Q4ECBTgdci7rGKINYyhnViZdDDFRL9rneS7i7scTHRXLiaNBxN2P5/Gjx3gf9OPdVJ9dF4OWM6Fh2WqP3Kaqaq7/E/mHseY6VwbnqqomAteAgcBRdDPpVkD1lOUHVVVtmPKvjqqqnwEKcC7V8nqqqqa+QPEoYKUoSuZ3pb2wFPhFVdV6wJdAoZS4bgKxiqJYA82ADH8LVFV1haqqTVVVbRoUdIHq1atQuXIFTExM6NOnG/udPQzK73f2YMCA3gD07NkFn0NH9Mv79OmGqakplStXoHr1KpwMCOatt0pRvHgxAAoVKkT7dq25kOrGnLQCAkMMYujbpxvOaWJwziQGZ2cP+mYQQ5EihXnzTd0MTJEihenQvg3nzumuKSxb9n/6/Tp068y5cxcIDAxN1w7OaW7+cXY++CKGHl04pI/hYLp2CAgIAeDtt0sDUKGCGQ4Ondm6dU+6GLp166SPLTvOBIdRqWpFzCuaYWJSANvuHfB2z/imNWNwKug01apVplKl8piYmNCjlx2url4GZVxdvej3UQ8AHLp3xjflcoRKlcqj1WoBXQ5q1KzK9Ru3uH37LpGR0VSvoRsItGn7vsENpmkFBZ2mWvUXMfTqZY+ri+GTNFxdPfmov+4Gsu7dO3M4wxjMqflONW5kcY132rpyok+m7WMZ7TMjxYoVpd67tShW9M0c7Z/P9e3rkO6Sloz6Z1rBp85QpVplKqa0kUOPLhxw9TYoc8DVm779dDcV2jt0xN/3OAClS5dEo9H911CpcnmqVqvM9YibAEyaMpJixd9k8sQ5L20b3Tmj8os27d0143NG/14A9Eh1zsjMipUbqFK1Ke+88z7W7Xpw6dI1bGz6vDQWgJBTZ6harRIVK5nr2qSnLR5uPgZlPNx86PNhNwDsunXkSEqbHPLyp1admhQuXAitVkuLlhYGN3RmJThtvT1scU+TC3dXb/r0092Am3UuKulzAdCjV5dszZqHnDpLlWoVqVBRF0O3Hhl89gM+9E757F262XDEV3d/wWGvI9SqU4NCKZ+9ecumBjeSdutpK7PmQuSw3Hxaix8wFt0M9RlgIboZ9ePAMkVRqquqellRlDcAc+AC8LaiKC1UVT2WcplLTVVVn08JrAZaA9sURekBnAAWK4pSGngA9AZCU8oWB57fPZX2OXqr0F3eskFV1cwvbE2RlJTEiJFTcHXZjFajwXGdE2FhF5k+bSyBQaE4Ox9kzdqtrHNcwvkwf+Li4unXX/fIsLCwi+zYsZ8zoT48S0pi+IjJJCcnU65cGdas/hmtVoNGo2HHjv24uOoGMsO+/pSxY4ZStuzbBAd54nbAm6++GseIkVNwSRPDtGljCUoVg6PjEsJTYvgoVQzbd+zndJoYypR5mx3bVwO6ny23bt2Dh8chAObNnUKDBnVQVZWI67cYOnQCSUlJjBz5HS7Om9BoNaxzdCIs/CLTpo4l6JQuhrVrt+K4djFhYf7E3Y+n/4CUGMJ17RAa6k3SsyRGjJiiv6HIaesKSpcuSWLiM4aPmExCwgMA5s6ZTIMGdVFVlevXbzL064kUQfuydOlz9v3EH1nttASNVsvOzfu4fOEq30z4krMh4fi4+/Juwzr84vgjxYoXw8rGkmHjv8S+dd9s7f/vGjdtHgHBp4mPf0A7h/4M/WwAPdPcOPh3JCUlMXbMDHbtcUSr1bBxww7Oh1/i2ykjCT51BjdXLzas28aKVQsIDvUmLi6eTweOAKB5i6aMGvMliYnPUJOTGTNqmn5GffyYGaxavQgTUxMirt3k6yHjs4xhzOhp7Nm3Hq1Ww4b12wkPv8SU70Zx6tQZXF08WefoxKrViwg940NcXAIDP/4GgBbvWzBmzFckPntGcnIyo0Z+p589Xeu4mFatm1O6dEkuXDrK7Fk/s37dNn1dGo2SI30SyLCfQ8Z98suvxgG6wfFBT182btyRo/0TdF+a27drzdChEwzaOqP+mVE+Jo2dybZdq9BotWzZuJML5y8z4dvhhASfxd3Nm00bdvDrivmcDPYgLi6BLz7VPamlRUsLJnw7nGeJz0hWkxk7ahrxcQmUMyvD6HFDuHjhCt6+uhtJV6/cyMb1O9LV/zyGkSO/w3n/RrRaLY7rnAgPv8jUqWM4FXQaZ5eDrHXcyto1PxN2zo/79+MZ8PGLx1BeuHCUYkWLYmpqgr19R7rYfWTwpJdXlZSUxLfjZrFl5yq0Wg1bNu7iwvnLjP/2G0KCz+Lh5sPmDTv4ZfkPHDt1gPi4BL78VPe4yISEByxf5sgB7+2oqorXQV88PQ5nu95JY79n667VKfXu1NcbGnwW9+f1rviR48HuKfXqntTSvKUF47/9Rp+L8aOmEx/34leart0706/XF9mKYcr42WzeuQKNVoPTpt1cPH+FsZOGERpyjoNuPmzdsJMlv8/DP8iN+LgEhn42Vv/ZV/y6DlcvJ1RUvA/64eXxYrLD3qEjA/oMyXYecp1cE/7fYqT5VnJr2l5RlHbAAaCEqqoPFUW5CPyuqurClJnrH4CCKcWnqKq6T1GUhsASdIPrAsDPqqquTP0oRUVRZgA10V07/gkwCYgHQoCnqqoOUxSlG7AIiAO8AQtVVdumxGUC3AOaqap6/mWfo4CpeZ5nXsnrAABFyfsosvsoxdx0Jszp5YVek7cqd3h5oVyUlA/++MPjZ0/zOoR80T/TPkoxLzx48ldeh0DJQnnfDkC+uPShgCZ7kxm5KTLu3GvvHg8G2+R64xdb6ZEfur0g9/OdV7nOtZlzVVW9AJNU72umeu0NWGSwTQi62fG0y9umej0t1aq1ZHDduKqqe4G9mYTWAN2NoC8dmAshhBDiX8RIZ1JFJow03/+KP0KUUxRFmQgM4cUTW4QQQgghhMg3/lODc1VV5wHz8joOIYQQQuS81/mH5UTeM9Z8/6cG50IIIYQwYkY6WBOZMNJ859ZzzoUQQgghhBCvSGbOhRBCCGEc8v4hUuJ1MtJ8y8y5EEIIIYQQ+YTMnAshhBDCKBjrDYIiY8aab5k5F0IIIYQQIp+QmXMhhBBCGAcjnUkVmTDSfMvMuRBCCCGEEPmEzJwLIYQQwjgY6dM7RCaMNN8ycy6EEEIIIUQ+ITPnL6HV5P33l6TkfPDVUM3767reL1Ipr0PIV+5GHMzrEKhQvUue1l/YxDRP688v/kp8ktchoKDkdQh4lKie1yEAsIk38zoE1sWH5HUIecJYn94hMmas+ZbBuRCv4K3KHfI6BCB/DMyFEEIIkfNkcC6EEEII45APfmgWr5GR5jvvr9kQQgghhBBCADJzLoQQQggjYazXIIuMGWu+ZeZcCCGEEEKIfEJmzoUQQghhHIz0GmSRCSPNt8ycCyGEEEIIkU/IzLkQQgghjIJqpDOpImPGmm+ZORdCCCGEECKfkJlzIYQQQhgHI51JFZkw0nzL4FwIIYQQRsFYL3MQGTPWfMtlLUIIIYQQQuQTMjh/RTYd2nLm9CHCzvkxduzQdOtNTU3ZuOFXws754ee7j0qVygNQqlQJ3N2duHf3PD8v+l5fvnDhQuzZ7cjpUB+CT3ky6/uJL42ho01bzp315XyYP+PHfZ1hDJs3/cb5MH+O+u/XxwAwYfwwzof5c+6sLzYd2gBQvrwZnh7bOR3qQ2iIN98M+yzjz27TlrNnfQkP82dcJvVu2vQb4WH+HElT7/jxwwgP8+fsWV86pNQLcOnicYJPeRIY4MHxY6765fXr18HPdx/BpzzZvduRokXffGm7vNumIXO8FjP30FJshzikj/8zO2YdXMQMtwWM3TSN0uZv6detuuLEdNf5THedzzcrJ7y0rtTatW9N4KmDBId6M2r0l+nWm5qasnbdEoJDvfHy2UnFiuYANG5SH7+j+/E7uh//Y87Y2dvotylevCjrN/5CwCkPTga5Y9Gs0SvFlJUpcxbSussHOPT/Ksf2CWDVzhL/AFeOnTrAsJGfp1tvamrC8jULOXbqAK6eW6lQ0Uy/rnbdmjh7bOHwsf34HNlLwYKmAEycMoKgs95cuRWYrRis27XiWOABTgZ7MHzU4AxjWLl2ESeDPTjgtY0KKbmoUNGcGzGh+PjtwcdvD/MXzdBv47RzFT7+e/E77sz8RTPQaLI+beZ0DIULF2LztuUcDXDD77gz300fk6226NChDcEhXpw+c4gxY4ZkEIcp69b/wukzhzh0eA8VK+r6q7W1Jf5H9nPy5AH8j+ynTZsW6bbdtn0lAQHu2Yrh9Gkfzp3zzfR8uWHDMs6d88XXd2+a8+VW7t4NZ9GimQbb9OplT0CAO6dOeTJr1qRstcVzb7ZpzDtev/HOoeW8PaRXuvUle7WjTtBGargupobrYkr11fXJQnWqUG3XfGp6LKOG2xKK21m+Ur2ZqdmmAWO9FjDu0CLaDumabv17H7Vn5IEfGOE6l6+2T+N/1c3/dl35oX++Fsmv4Z/IP4w0169tcK4oSoSiKG9lsPxobteRUzQaDYsXz6Jrt49p0NCavn26UatWDYMygwZ+QHx8PHXqtmLJ0lXMnvUtAI8fP2HGjJ+YOHFWuv0u+nk59RtY0ey9zrR434KONm2zjGHJ4tnY2fenXgMr+vZ1oHZtwxg+HfQhcXEJ1Kpjyc9LVjJ3zmQAateuQZ8+3ajf0Joudh+xdMkcNBoNz549Y9z4GdRvYEVLS3uGDBmYbp/P67W370/9BlZ8kEm98XEJ1K5jyeIlK5mTqt6+fbrRoKE1dqnqfa59h940tbCheQtb/bLlv8/n28lzaNS4PXv3uGU4uEhN0WjoP/NzFg2czZQOo3ivqyVm1csblLkRdo2Z9hOY1nkMgW7H6D1pgH7d08dPmW47jum241g6+Ics60rbLgsWTqdXj09p1rQjPXvb806t6gZlPv6kN/HxCTRqYM2vy9Yy43vd4D887CJtWznQ6n17ejoM4ucls9BqtQDM+3Eqngd9sWhsQ8vmdly8cDnbMb2Mg20Hfl+Y/jj8JzQaDXN/+o5+vb6g9Xv2dO/VhZrvVDMo029AL+LjE2jRuBPLf13PlOljAdBqtSxb8SPjR0+nTQt7eth9QmLiMwA8Dhyic7u+2Y5h3oKpfNDrc1roG2zGAAAgAElEQVQ260L3nnbpYvjo497Exz+gWSMbfv/VkakzxurXRVy7gVUrB6xaOTBu1DT98s8GjsDKshutmtvx1lsl6dq902uPYdnSNbxv0RnrVt1p9l5j2rVv/dK2WLhoJt0dBtKkcQd69+5KrTTH5ScD+xAfn0D9em35Zelqvp+lmxi4dy+OXr0+o1mzTnwxeAyrVi8y2K5rt448/POvLOt/HsPixbPo1u0TGjZsR58+XdOdLwcO7Et8fAJ167Zm6dJV+sG27ny5gIkTZxuUL1WqBHPnfkvnzh/SuHF7ypZ9Gyurli+NJSUgzGd+xbWB07nY4WtKdG1NweoV0hWLd/bjku0ILtmO4L6TBwDJj55wc/RCLtp8zbVPpmM2dTCaYm9kr95MKBoFh5mDWDPwBxZ2GEuDru+nG3yH7D3Cz50msNh2EoeXO2P33YBM9pa1/NA/hRDZ91oG54qiaDNbp6rq+68jhpxgYdGQK1ciuHbtBomJiWzbvg/7VLOdAPb2NmzYuAOAXbtc9P9x/PXXI44eDeDxkycG5R89eszhw8cASExMJCT4DObly2UaQzOLRoYxbNtLV/uOBmW62tuwYcN2AHbudMHayjJleUe2bdvL06dPiYi4yZUrETSzaERMzG2CQ84C8OefDzl//hLmZmWzrNdp217s09Rrn0m99vYdccqg3qzUqFEVP7/jAHh6+dG9u22W5as2rM7t6zHcuXmbpMRnnNh/hIY2FgZlzh87x9PHTwG4GnyJkmVLZ7nP7GjStAFXr14nIuImiYmJ7NrhTJcu7Q3K2HZpz+ZNuwDYs9uNNm11M5GPHj0mKSkJgEKFCqKquj9DXKzYm7RsacH6ddsA3XGRkPDHP471uaYN61G8WNEc2x9Aoyb1uXb1Bjeu3yIxMZE9O13paGttUKajrTXbtuwFwHmvO5ZtmgPQ1rolYWcvEHb2AgBxcfEkJ+umLE4FhnI79k62YmjcpD4RV69zPSIlhl0udO7SzqBMZ1trnDbvBmD/HndaZTArnNaffzwE/s/eeYdFcX1/+L0sYAcEkaqioknUKNbYexcUS0zsmqiJJvaSGHuJ0cQWExN7Q6OxxA6Iir037BVFhQWUbgeW+f2x68KyICVR+PK77/PwsHPvuXM/M3fm7pkzZ2bB1NQUMzMzUNL/ueh3oeHly1ccP3oa0B4Lly9dx8HJ7q1tatRw415g8nG5Zcsu3N0N5yr3di1Zv24rANu2edO4sXYqvnTpGmGhjwG4fv02+fPnx9xcGyktVKggQ4b0Z/bs397aPxjPl5s370pzvlynny+9jebL169fGdiXLl2Su3eDiIiIAsDf/xienm0y1AJQ0K0c8Q9CiX8UjpKQSMyuI1i0/CRTbePvq4kPCgUg8XEUiZGxmFpbZKptepRwcyXyQRhRjx6jSdBwaddJKrSsYWDz+tlL/Wfzgvneeuy9jdxwfr4vlKR3/yfJPeTVsc7QORdCjBFCDNV9ni+E8Nd9biqEWC+E6CaEuCKEuCqEmJ2i3TMhxFwhxCWgToryAkIIHyHEgDd2uv+NhRCHhBBbhBA3desWurq2urLzQoiFQojdunIbIYSfEOKaEGI5IFL0s11nf00IMVBX9oUQYkEKmwFCCMOw0FtwdLTnUbBavxwSEmrkxDo62hOss9FoNMTFPcXGpmim1m9paUG7ds05ePB4+hqcDDUEh4TimFpDChuNRkNsbBw2NkWN9AeHhOLoZNi2VCln3KpU4vSZi0brDM5o29Pp18nRuO2bfhVFwcd7A6dP+dD/yx56m+vXb9O+vdb579LZnRLOjrwNKztrotQR+uXo0EiK2lmna9+ga1OuHEreRrN85kzaOZvx22ZSNZVT/zYcHe0ICQ5NsW1hODgaOk4OjvZ6G41GQ1zsU6x1x0T1GlU4ddaHE6e9GTFsIhqNhlKlShAREcUfi3/m6PGd/Pb7TAoWLJBpTTmBg0Nx1CFh+uVQdTgODqn2g4Md6pDk/fA07inW1laUcXVBATZsXYbf4a18MzTttKoMNTjaEZJCgzrEWIO9gx0hKTTExT3F2lo7FiVLOeN/dBs79nhRu051g3ab/lnOjcATPHv2nJ3b00/neJcaACwsi9CyTROO6i7o08PR0Y7gEMNzLvVxmdImvbnK07MNlwKuEh+vvaidNGkUCxcu58ULQ6c5bQ1pnPdGGrI2XwYGPqBcuTKUKuWMSqXCw6MlzhnMDW8ws7MhIcUckRAaiZmd8QW6ZZu6lPNZSMk/vsfMwfhGbIEq5RBmpsQ/CDOqywqWdkWJUUfql2NDI7G0M972Or1aMPbwAtp+350dU9Zkq6/ccH5KJJLMk5nI+VGgge5zDaCwEMJMV3YbmA00BdyAmkKIN8m+hYDTiqJUURTlmK6sMLAL2KAoyrI0+qoKDAcqAGWAekKI/MASoI2iKNUB2xT2k4FjiqJUBLYBJVPUfaGzrwEMFULYAJsAD51+gH7Aykzsg3eOSqXCa+3vLFq0ivv3H+aIhkKFCrLp72WMHD2Zp0+fvZc+GzfpSK1PWuPu0ZNBg/pSv742kjVg4Ei+/qoPp0/5ULhIIeLjE/6zPmt7NsClcll8l+7Ql42pN4hp7b9j6dAFdJvUD9uSb49M/lecP3eJ2jXb0KRRR0aO+pp8+cwxNTWliltFVixfT4N67Xn+4iUjRv23+eG5CVOVik9qV+ObAWPo0LoHbdybU79h7feqITzsMVUrNqFpg45MHD+LxcvnUrhIctpC1079qVS+PvnymdOg0bvRlpEGlUrF0hXzWL7YiwdBwe9EQ0o++qgc02d8z5Ah2tS8ypUrULpMSXbtzDjX/F0RExPL0KHj8fJaxIEDW3jwIFh/9+m/IG7/GW7W/5I7bYby7FgAJeYON6g3tS1KyXkjCR7za7aj2FnlpNc+fm40HJ9Zf9FsSMf30mdKcsP5mRVk5Pz/F3l1rDPjnJ8HqgshLIDXwEm0Dm8DIAY4pCjKE0VREoH1wJtkSA2wNdW6dgCrFEVZm05fZxRFCVYUJQkIAFyAD4F7iqLc19lsSGHfEFgHoCjKHiA6Rd1QXdT+FFACKKcoyjPAH3AXQnwImCmKciW1CCHEQCHEOSHEOY0m2UlVq8MMIrhOTg6EqA2jJ2p1mD6So1KpsLAoQmRkNBnxxx+zuXv3Pr/9vuKtduoQQw3OTg6oU2tIYaNSqbC0tCAyMtpIv7OTgz6aYmpqyua/l7Fhwza2b/dJs1/njLY9nX5D1MZt3/T7RvuTJ5Fs3+FDzZpuANy6FUjbdt35pHYb/v57B/fuBb11v8SER2HtmBzlKupgQ3R4lJFdhXof4/5tZxb2n0VifKJBe4Anjx5z89Q1SlYs/db+9NusDjdIQ3JysidUHW5gE6oO09uoVCosLIsQleqYuH0rkOfPX1ChwgeEhIQSEhLG+XOXANix3YcqVSpmSk9OERr62OAujIOjHaGhqfZDaDiOTsn7oYhFEaKiYlCrwzl14hxRUTG8fPmKA/uOULlKhaxrUIfjlEKDo5OxhrDQcJxSaLCwKEJUVDTx8QlER8cAcDngGkH3H1LW1fAYeP06Hp89B2jT1jBN5X1pmPfrdO4FBrHkz4yjp2p1OM5Ohudc6uMypU3qucrRyZ4NG5cwoP9IfbCg1ifVqFatMtdvHGP/gc24liuNj+/Gt2hI47w30pD1+dLbez8NG3agceOO3Llzjzt37r/V/g0J4ZGYpZgjzBxsSAiPNLDRxDxF0c0LURv9KFApOU/fpHABSq+aTNgcL15cvJWpPt9GbHg0Vo7JkXtLBxtiw9Pf9ku7TlKxRY10699Gbjg//78hhGgthLglhLgrhEjzTQ9CiK5CiOu6O/x/vW+Nkv+GdzHWGTrniqIkAPeBvsAJtJH0JoArEPSWpq8URUkd0jgOtH6TrpIGKROyNWTzPexCiMZAc6COoihVgItAfl31crTb0g9YlVZ7RVGWKopSQ1GUGipV8ltCzp27hKurCy4uJTAzM6Prp+3ZvXufQdvdu/fRq6f2LQCdOrXj0KH0U1TeMGXKGCwtijBq9JQMbc+eC8DVtXSyhq4d2LXbz8Bm124/evX6FIDOndtxUKdh124/unbtgLm5OS4uJXB1Lc2Zs9rUjmVL53Lj5l0W/Lo0U/1+1rUDu1P1uzudfnfv9uOzNPotWLAAhQtrI4MFCxagRfNGXLum/dKztdV+aQkh+GHcMJYu9Xrrfrl/6S52Lg4Ucy6OysyUTzzqEbDvrIFNyYql6T3zKxb2n8XTyDh9eUGLQpiaaw+1wkWLUK76h4TeyVxk8sL5y5Qt60KpUs6YmZnRqYs73t4HDGy8vQ/QvUcnADw7tuGILiXhza15gBIlHClXvgwPHgbz+HEEISGhuJbTOmaNGtfl1s3/7oHQd0HAhSuUKVuKkqWcMDMzw7NzW/x8DhrY+PkcpGu3DgC4d2jF8SPaZwoOHTjGhxXKU6BAflQqFXXq1eT2rcAsa7h44Qqly7pQUjcWnp3a4evtb2Dj6+3PZ9210UcPz1Yc02mwsSmqf0i5lIszZcq68CDoEYUKFcTOTnuzTqVS0aJVY+7cvvdeNQCMmzAcC8vCjP9+Zqb2xfnzlyjrmnxcduniwZ49hnPVHu999OjZGYCOHdty+LD22XxLSwv+2bqKSZNmc+rUeb398mXrcC37CRU+qk/zZp9y98592rT+PF0N2vkyec749FOPNOfLnvr5si2HDmX8foA3c4OVlSUDB/Zi1aoNGbTQ8uLSHcxdHDFztkOYmWLl0ZC4fWcMbExtk9NKLFrU4lWgdv8LM1NKLRlP9D/+xPr8N+8wCL4UiI2LPUWdbVGZqajiUYcb+84b2Ni4JDvUHzatSkRQ9lJpcsP5+b7IDZFz3XN2i4A2aDMBugkhKqSyKQeMA+rp7v4PN1qRJEPy6lhn1vk9CowGvgCuAPPQRtTPAAt1b0iJBroBb3tSaJLubxFg/F6ttLkFlBFCuCiKEgSkfDT8CNAdmCGEaAO8mVktgWhFUV7oIuT6e3CKopwWQpQAqgGVM6kB0ObhDR8+kd271qFSqVi95m9u3LjNpEmjuHD+Mrv37GPV6o2sWrmA69eOEhUVQ6/eya8cvHXrBBZFimBuboaHRyvauffg6dOnjPt+KDdv3uH0KW3E+s/Fq1m1Ku2IlEajYdjwCXjv+QuViQmr1/zN9eu3mTJ5NOfOX2L37n2sXLWRNasXcvP6MaKjY+jeU7urr1+/zZYtu7hy6SCJGg1Dh40nKSmJenVr0qtnFy5fuc65s1qHe+LEWfj4+hv1uydVv5Mnj+Z8in5Xr17IDV2/PVL0u3nLLi6n6tfOzpYtm7V3ClSmKjZu3I6f3yEAPv/Mk68H9QVg+3ZvVq/5m16O6T84l6RJYt2k5YxcOwETlQnHNvmjvhOM54jPCLoSSMD+c3Qd14t8BfMz+A/tq+giQyL4bcBsHFyd6TNzIIqiIITA+89tqO9mzjnXaDSMHjWVf7avRqUyYZ3XFm7euMMPE4Zz8cIVfLwP4LVmE0uXz+XiJX+io2P4ou8wAGrXqcGIUV+RkJCIkpTEqBGT9RH1saOmsnzFfMzMzQi6/4hvBo3NlJ7MMGbyLM5evExMTBzNPHsy+MtedE71cG9W0Wg0/DBmBhu2LkelMmHDun+4dfMuY38YQsDFq/j5HOQvry38vmQ2Jy/4EhMdy1dfaMchNjaOJYtW4+u/GUVROLDvCPv9DgMwcepoOnZpR4GCBbhwTbuOObMWpath3OhpbPpnOSYqFRvWbeXWzbt898NQAi5eZa+PP+u9tvDH0l84c9GP6OhYBn4xAoA69Wry3Q9DSUxIJElJYvSIycREx2Jra4PXxj8xNzfHxERw/OhpVq9MP1r8LjQ4ONoxcswgbt8KxP+I9kHSFcvWsW7tlrfqGDVyEjt2rkWlUrF27SZu3LjDhIkjuHDhCt579rNm9SaWr5jH5SuHiI6OoU/vIQB89XVvypQtxbhxwxg3TnustvfoxZMnken2l56G4cMnsmuXFyqVijX6+XIk589fYc+efaxe/TcrVy7g2rUjREXF0Lv3t/r2t24dp0iK+dLdvSc3b95h7twpfPyx9rtv5swF3L2bucg5miTUkxZTZu1UUJkQvWk/r+88xG5ED15euUPc/jMU6+eBRfNPUDQaNDFPCR79KwCW7epTuFZFTIsWoWgX7Z2TR6MX8Op6JvtOgyRNEjsmrebLteMwUZlwdtMhwu8E02JEF4Kv3OfG/vPU7dOScvU+RpOYyMvY52wa9We2+soN5+f/M2oBdxVFuQcghNgIdACup7AZACxSFCUaQFGUx+9dpeS/4J2MtVAykTcnhGgG+AJWiqI8F0LcBhYrijJPCNEN+AHtw5h7FEX5TtfmmaIohVOsIwhtOkwk2jzvJ4qijH1jp4t2j1YUxV1n/ztwTlGU1UIID+AX4DlwFiiiKEoPXR75BsAJbVS/JVAdeApsR5sWcwuwAqYoinJIt+7vATdFUdIP++jIl7/E+0ksfAuapJxPckvvVsf75G3O+ftia8TFjI3eAxFB+zI2eg+UcG2Xo/1rZAIoAC8SXmds9I7JDfPUGfsqOS0BgPVk/LsM75o1MQE5LYGwmBvv/asjvHHjd/6dbX/48FfAwBRFSxVF0d92FkJ0AVoritJft9wL+ERRlG9T2GxH+9xePUCF1kfxfdfa8xrverxzaqwzFTlXFOUAYJZiuXyKzxswzAN/U1441bJLisV+qe10jvOhFOXfprA/qCjKh7p0mEXAOZ1NJFqHPC3e9n6t+kCm39IikUgkEolEAtrUVyDtHNDMYwqUAxoDzsARIcTHiqLE/Mv1Sv5Dcmqs/1d+IXSAECIAuIY2ZWVJdlYihLDSRf1f6i44JBKJRCKR5BFyQ845EIL2RRRvcNaVpSQY2KkoSoLuhRe30TpwkiyQV8f6f8I5VxRlvqIoboqiVFAUpYeiKBn/PF3a64lRFKW8oiif/tcaJRKJRCKRSNCm35YTQpQWQpgDnwM7U9lsRxtJRffcXnkg/afNJbmVdzLW2XobikQikUgkEkluQ0nK+SekFEVJFEJ8C+xFm2O8UlGUa0KIaWifpdupq2sphLiO9u10Y3SpupIskNPj/a7GWjrnEolEIpFIJP8hiqJ4A96pyial+KwAI3V/kv9h3sVYS+dcIpFIJBJJnkC+wOn/F3l1vP8ncs4lEolEIpFIJJL/D8jIuUQikUgkkjyBouR8zrnk/ZFXx1tGziUSiUQikUgkklyCjJxLJBKJRCLJE+TVHGRJ2uTV8ZbOuUQikUgkkjxBTr9aT/J+yavjLdNaJBKJRCKRSCSSXIKMnEskEolEIskTKEpOK5C8T/LqeEvnPAMEOX/LxCp/oZyWQFIuOAO2PLmQ0xJyxX7ITTy6uyenJVC9Uo8c7T83zBG+H+fLaQlUCHiU0xKYj3lOSwDAlMSclkBvK7ecliCRSLKJdM4lkv9BSri2y2kJucIxl0gkkpTk1RxkSdrk1fGWOecSiUQikUgkEkkuQUbOJRKJRCKR5AnyaiRVkjZ5dbxl5FwikUgkEolEIsklyMi5RCKRSCSSPIF8Zv//F3l1vGXkXCKRSCQSiUQiySXIyLlEIpFIJJI8QV7NQZakTV4dbxk5l0gkEolEIpFIcgkyci6RSCQSiSRPoCh5M5IqSZu8Ot4yci6RSCQSiUQikeQSZORcIpFIJBJJnkBJymkFkvdJXh1vGTmXSCQSiUQikUhyCdI5zyItWjTi8uWDXLt2hNGjBxvVm5ub4+W1iGvXjnDkyA5KlXIGwNrair17NxIRcYP586cZtOnSxYOzZ/dy4cJ+ZswYl6GGps0bcOq8L2cC9jF0xMA0NJixfNUCzgTsY6//ZkqUdDKod3J2IEh9kW+GfKEvGzioN0dP7ebY6T18NbhPpvZFs+YNOH1hL+cC9jNsZFo6zFmxegHnAvazz39Lmjoehgbw7dAvDcpNTEw4dGwHGzYvzVBD8xYNOX9xPwGX/Rkx6us0Naxas5CAy/74H/qHkjoN1atX5tjJ3Rw7uZvjp/bg7tFS3+bK9SOcPOPDsZO7OXR0R6Y0XAg4wKUrBxmZjoY1a3/j0pWDHDy8LVlDjSqcOLWHE6f2cPKUNx7tkzX8sXg294POcuasb4b9AzRpVp9jZ705ecGXb4f3T0ODGUtWzuPkBV+892+kRElHfd1HFcuz228Dh0/u4uDxHeTLZw7A9xOGcf6qP4HB5zKlIStMmDmPhu0+x7On8f76r6jXpDY7j21k98nNfPFtL6P66rXd+NtvNReCj9LCvYm+/IOK5fDavZR/Dq9ni78XrTo0+1c66jb5hB3HNrDr5KY0dVSr7cZGv1WcDz5C81Q61u5eyj+H17HZf+2/0pHvk5rY/rUG243rKNSzm1F9gTatKL5rG8VWLaPYqmUUcG+rrysyaCDF1q6k2NqV5G/axKhtZmnWvCFnLvhx/tIBho/8yqje3NycFWt+5fylA+w7aDxfODs78CjsktF8kRUqNXJj5oGFzDr0O20HdTSqb/mlBzP2LWCazzzGrJ+MjZOtvm5F4Cames9hqvcchi77PtsaKjZyY/qBX/nx0G+0HuRpVN/iS3em7pvPZJ85jFw/CWunYvo6a8diDF87gWn75zN133xsnG2N2meH8o2qMObAXMYemk/jQe2N6mv3aM4I39kM9/6JQZsnU9zVKY215A6SFPHO/yS5h7w61rnCORdC9BVCOKZYDhJCFHtbm2z24y2EsNL9GXvWGWBiYsKvv86gQ4c+uLk1o2vX9nz4YTkDm759PyMmJpaKFRvy22/L9c72q1evmTp1Lt9//6OBvbW1FT/99ANt2nSjWrXm2Nvb0qRJvbdqmD13Mp91HkC9mm3p1MWd8h+UNbDp0ftTYmJiqeXWgsWLVjN56hiD+ukzx3Fg3xH98ocflaNXn660bNKFRnXb07JVE0qXKZnhvvh57hS6dupPnZpt6NzFnQ8+cDWw6dm7CzExcdRwa86fi1YxZZqhjh9/+sFAxxu+HtyH27cC39r/Gw1z502lc8d+1Kzeii6fevDBh4YaevfpSkxMHG6Vm7Lo95VMnf4dANev36ZR/Q7Ur+NOJ8++/PrbDFQqlb5duzbdqV/HncYNOmSoYd78aXTy7EuNai359NP2fJhKQ5++XYmJiaXKx01Y9NsKps/QfrFfv3aLBvXaU7d2Ozw9+7Bw4Y96Deu9tuLp2TfDffBGw09zJtK9y0AafuJBxy7tjI6J7r26EBMTS51qrVnyx1omTBkNgEqlYtHSnxk7cgqN6njQyb0PCQmJAPj5HqJNs88ypSGreLZtweJ5M97JukG7T374aRSDuo/Es2E32nRsQZnyLgY2oSFhTBg2HZ9t+wzKX718xfgh0+jUqAeDuo1g7LThFLEo/C90jGZw91F0bNid1h2bG+kICwlj4rAZaeqYMGQanRr1ZHC3kYyZNix7OkxMsBg5jKjR3/OkZ18KNG+GqUspI7NX/geJ6DeAiH4DeLnbG4B8dWpjVr4cEf36EzlwMIW6dUUULJgNCSb8Mm8Kn3b6kto1WtP5U3ejc7VXn0+JjYmlepVm2vli+liD+hmzxrM/jfkiswgTE3pNG8D8vj8yvsVwPmlfH0dXZwObh9fvM81jLJPajOSczym6jku+mIp/Fc/ktqOZ3HY0CwfMyraG7tO+5Ne+PzKpxQhqta+HQxoafvT4jqltRnPe5xRdUmj4Yt637F26k0nNRzCzwzieRsRmS4ehJkHHaf1Y0Xc2c1uMxq19XSPn++KO48xv/R0L2o7j8JLdeEw0vsiUSCT/HbnCOQf6Ao4ZGWUGIUS6efSKorRVFCUGsAKy7JzXrOlGYGAQ9+8/JCEhgc2bd+GRIuIK4OHRknXrtgDwzz/eekf7xYuXnDhxltevXxnYly5dkrt3g4iIiALA3/8Ynp5t0tVQrUZl7t97wIOgRyQkJLBt6x7atGtuYNOmXTM2btgGwM7tvjRoXCdFXXMePgjm1s27+rLyH5Tl/LlLvHz5Co1Gw4njZwwiyWlRPZWOf7buoY27YWSvbbvmbPzrHwB2bPelYQodbd2b8+BBMDdv3DFo4+hoT4tWjfFas+mt/QPUqFGFe/ceEKTTsHXLbtq5tzCwaefenA3rtwKwfZsPjRvXBdBvK0D+fPmy/StjNWpU4V5gsoYtW3YZa2jXgvXrtBq2ZVLD8eNniI6KyZSGqtUrc//eQx4+CCYhIYHtW71p1bapgU2rtk3ZtEF7F2D3jr3Ub1QbgMZN63H96i2uX70FQHR0DElJ2iS+C+cu8Tj8SVZ2R6ap4fYxlhZF3sm6ASpVrcDD+8GEPFSTmJCI7/b9NGnV0MBG/SiMOzcC9dv7hgf3HvHwfjAAT8IjiIqIpqiNVbZ1PEqlo3GrBu9Vh9lHH6IJVqNRh0JiIi/3+5OvfvoBgJSYupQiPuAyaJJQXr0iMfAe+WrXyrKG6rpzVT9fbNlDW6N5qzkb1mvnrR3bfGmUar54GPTIaL7ICmXcXHn8IIwnj8LRJCRyZtcxqrasaWBz8+RV4l/FAxB48TZF7W2y3V9alHZz5cmDMCIePUaTkMjZXcdxa1nDwObWyWt6Dfcu3qaovTUADq7OmKhU3Dh2GYDXL17p7f4NJdxciXgQRtSjx2gSNFzadZKKqTS9fvZS/9m8YD6UXPyzjIoi3vmfJPeQV8c6W865EGKMEGKo7vN8IYS/7nNTIcR6IURLIcRJIcQFIcRmIURhXf0kIcRZIcRVIcRSoaULUANYL4QIEEIU0HUzRNf+ihDiQ137QkKIlUKIM0KIi0KIDrryvkKInTodB4QQDkKII7r1XRVCNNDZvYnIzwLK6up/yex2OzraExys1i+HhITi6GiXro1GoyEu7ik2NkXTXWdg4APKlStDqVLOqFQqPDxa4uyc/nWKg4Md6uAw/bJaHS0d7PUAACAASURBVIZDKg0ODnaEBIcaaLC2LkqhQgUZOmIAv8z63cD+xvU71Klbg6LWVhQokJ/mLRvh6Ozw1n3h4GBPSEhoso6QMBwcUulwtCNEp1Wj0RAX+wxrG62OYSMG8vNPvxmtd+bs8UyZ+LORo5KmBkd7goNTagjFMQ0Nwan3hW48atSowumzvpw848PwoRP0jrKiKGzfuYbDx3bQt9/nb9Xg6GhPcIr9EBIShqOjfSobO72NRqMhNsUxUaOmG2fP7eX0WV+GDRuv15AVHByKow5JPiZC1eHGY+FghzqFhqdxT7G2tqKMqwsKsGHrMvwOb+Wbf5EykJuwc7AlXP1Yvxwe+pjiDllPAahUtQJmZmY8CgrJlo7iDraEqcP1y49Dn2CXLR0fZVuHyrYYmsfJ+yLpyRNUtsY3JvM3akix1cuxmj4Fk+JajQl3A8n3SS3Ilw9haYF5NTdUxbOuXzsXpJovjObOVPOWwXzxFbPTmC+yQlE7a6LUEfrlqNAoitql73w37NqMK4cu6JfN8pkzaedsJmz7iaots36BAmBlZ02UOlK/HB0ahdVbNNTv2oyrhy4CYFfGgZdxzxm0eDQT9/xMl3G9ECb/Pr5maVeU2BSaYkMjsbAz/s6q06sF3x1eQNvvu7Nzypp/3a9EIkmf7L6t5SgwCliI1rHOJ4QwAxoAl4EJQHNFUZ4LIb4DRgLTgN8VRZkGIITwAtwVRdkihPgWGK0oyjldHUCEoijVdOkno4H+wHjAX1GUL4QQVsAZIcR+naZqQGVFUaKEEKOAvYqi/CiEUAGp78N+D1RSFMUtm9v/nxETE8vQoePx8lpEUlISp06dp0wZ41vO/wVjxw1h8aLVPH/+wqD8zu1AFs5fxpZtK3nx4iVXL9/IlpOYWb77YQh//r7KSEfL1k148iSSSwHXqFc/e19+WeHcuUt8UrM15T8oy5Klc9jnd4jXr+Np1bwroaHhFLO1Yceutdy+HciJ42ffjYazAdSs0YoPPijLkmVz8dur1fC+MFWp+KR2NVo3+ZSXL1+xeccqLgVc49iRU+9NQ26lWHEbZv42iQlDp+dopLBYcRt+/G0SE4bOeGc6Xh0/ycv9/pCQQMEOHliN/56oYaOIP3uO1x99QLHFv5MUE0PC1esomvf7eoTvfhjKn4uM54t3SR3PhrhULsuszybqy0bX+5qY8ChsS9gxdsMUgm8+4MnD8Les5d/xiWcDXCqX4ZfPJgNgolLhWvMjprcbQ5Q6goG/j6Bel8Yc2+T/zjSk5KTXPk567cOtfV2aDunIplF/vpd+s0pe/cVISdrk1fHOrnN+HqguhLAAXgMX0DrpDYCdQAXguM7JNgdO6to1EUKMRessWwPXgF3p9PFPir466T63BNoLIUbrlvMDb5Kj9ymKEqX7fBZYqbtg2K4oSkBWNk4IMRAYCGBqWhSVSpvnqVaHGUS1nZwcUKsNJ+c3NiEhYahUKiwsihAZGf3W/ry99+Ptrb3G+PLL7mje8uUXGhqOo3NyZNbR0Z7QVBpCQ8NxcnYgVB2u1xAVFU21GlXw6NCKydPGYGlpQZKSxKvX8axYuo71XltY76VNxxk/aSRqdRhvIzQ0DCen5Oi6o5M9oaGpdKjDcXK2R63W7QvLwkRFRlO9RhXad2jNlOljtTqSknj16jUOjna0aduMFi0bkS9/PooUKcziZXP4esDo1N3r1h+Gs3NKDQ6o09Dg7OyQrMGiCFGpxuP2rUCePX9OhQofcPHiFf12RDyJZPdOP+2Dm+k452p1GM4p9oOTk73RvlOrw3F2ckCtOyYs0zgmbt0K5Pmz51So+AEXL1xJs6/0CA19jKNT8jHh4GhnPBah4Tg6JR8TRSyKEBUVg1odzqkT54jSpdAc2HeEylUq/M875+GhT7BzLK5ftnMozuPQzKfoFCpckEXr5vLbrCVcvnAt2zoehz7BPkWEuLiDLeFZ1PH7ujn8NmspV7KpQ/MkAlXx5H1hYmuL5kmEgY0SF6f//GLXHooMSn7A+9na9Txbux4Aq8kT0DwKzrIG7VyQar4wmju1Nqnnixo1q9DBszVTU8wXr1/Hs2yJV5Y0RIdHYe2Y4uFKB2uiwyON7CrUq4z7t52Z9dlEEuMT9eUx4dqvlyePwrl56hqlKpbOsnMeEx6FtWNypLyogzUxaWj4qN7HtPu2E798NlmvISYskkc3goh4pL0LEuB3ljJVy0HGGYBvJTY8GssUmiwdbIgLT/8769Kuk3SckXvvsOXijBvJOyCvjne27okpipIA3EebK34CbSS9CeCqK9+nKIqb7q+CoihfCiHyA38AXRRF+RhYhta5To/Xuv8aki8iBNA5xbpLKopyQ1f3PIW+I0BDIARYLYToncXtW6ooSg1FUWq8ccxBG2l1dS2Ni0sJzMzM+PRTD3bvNnyIa/fuffTs2QWATp3acujQiQz7s7XVToxWVpYMHNiLVas2pGt78fwVypRxoWQpZ8zMzOjYuR2+3gcMbHy9/fm8m/ZNBO09W3P0sPbayKN1d6p93JRqHzdlyZ9rWDBnMSuWrgOgWDFtXqOTswPu7VuydXN610xaLpy/QpmyyTo6dW6H7x5DHT7eB/i8u/a6qoNna44e1jp87Vp1x61SE9wqNWHxH6uZP3cxy5euY/qUuVT6sAFulZrQv+9wjh45la5jDnD+/GXKlHWhlE5D5y7ueO/Zb2DjvecA3Xp0BsCzYxsO6/bFmzQigBIlHClfviwPHgZTsGABChcuBEDBggVo2qw+N67ffquGsq7JGrp08TDW4L2fHj21Gjqmq8GJ8h+U5eGDrDs+AReuUKZsKUqWcsLMzAzPzm3x8zloYOPnc5Cu3bQPt7p3aMVxnfN96MAxPqxQngIF8qNSqahTr2amHsbN7VwLuEGpMiVwKumAqZkprT2bc8jvaKbampqZsmDVbHZt9mHf7oMZN8hAR8kyzgY6Dvsdy7SO+atmsWuzD/v/hY6EmzdRlXBC5WAPpqYUaN6U18cN5yUTG2v953z165L44KGuwgRhYaHVU7YMpmXL8Pps1u8iXTh/mbJlSyXPF13a4WM0bx2gWw/tvNWhY2uO6OaLti27UaViY6pUbMyff6xm3pw/s+yYA9y/dJfiLg4Ucy6OysyUWh71ubjP8E1EJSuWps/Mr1jYfxZPI5MvWApaFMLUXPs1VLhoEcpV/xD1nayfq0GpNNT0qMelVBpKVHSh58yB/N5/toGG+5cCKWhRkMLW2vH4sG6lbGlITfClQIq52FPU2RaVmYoqHnW4vu+8gU0xl+SL/w+bViUy6O3BG4lE8u/4Nz9CdBRtuskXwBVgHtoo9ylgkRDCVVGUu0KIQoAT8CbpMUKXg94F2KIrewpk5umwvWhz0YcoiqIIIaoqinIxtZEQohQQrCjKMiFEPrQpL2tTmGS2PwM0Gg3Dh09k1y4vVCoVa9b8zY0bt5k0aSTnz19hz559rF79NytXLuDatSNERcXQu/e3+va3bh2nSJEimJub4eHRCnf3nty8eYe5c6fw8ccVAJg5cwF3795/q4bvx0xj87YVmKhU/OW1hVs37/L9+KEEXLiKr48/69du5o+lv3AmYB8x0bEM6Dciw21bte53rK2tSEhIZOyoqcTFPs1wX4wdPZUt21eiMlGx3msLN2/eZdz4YVy8eAVfb3/Wrd3M4mVzOBewn+joGPpnQkdW0Gg0jBk1hW071qBSmeC1djM3b9xh/IThXLhwBR/vA6xd8zdLl88j4LI/0dGx9OszFIA6dWswYuTXJCQmkpSUxMjhk4iKjMbFpQTrNy4GtCkfmzftfOsbIjQaDaNGTmb7zrV6DTdu3GHCxBFcuHAF7z37WbP6b5avmM+lKweJjo6lb+8hOg01GTUqWcOI4RP1EfVVq3+lQcPa2NgU5dadE/w4YwFr03lIVqPR8MOYGWzYuhyVyoQN6/7h1s27jP1hCAEXr+Lnc5C/vLbw+5LZnLzgS0x0LF99MQqA2Ng4lixaja//ZhRF4cC+I+z3OwzAxKmj6dilHQUKFuDCNe065sxa9J+M3ZjJszh78TIxMXE08+zJ4C970dmj1X+ybtDuk5k/zOXPDQtQqUzYvmE3gbfuM3jsAK4H3OCQ3zEqun3EgpWzsLAqQqMW9Rk0pj+dGvWgVftmVKvthmVRC9p/pn2l4MRhM7h1LesPI2o0Gn76YR5/bpiPiUqVQkd/rgXc5LBOx/yVP+l1DB7zJZ0a9UxTx6RhP2ZdhyaJuHkLsZ73M5iY8HKPD4n3gyj8ZT8Sbt7i9fETFOrSSfuQqEZDUlwcMT/q3kZiqsJm0a8AKC9eEDPtR8hGWotGo2HsqKls3b4KlUrFei/tuTpuwjACLlzFx/sAXms2sXj5XM5fOkB0dAxf9h2e5X7eRpImifWTljNq7URMVCYc3eSP+s4jPEd8TtCVuwTsP0fXcb3JVzA/g//Qnh+RIREsHDALR1dn+sz8iiRFwUQI9vy5DfXdrDvGSZok/pq0guFrxyNUJhzfdBD1nWDaj/iMB1cCubT/HF3G9SJ/wfx8nULDogGzUZKS2PyjF6PWTwIheHj1Hkc3Hsigx8xp2jFpNf3XjsNEZcLZTYcIvxNMyxFdCL5yn+v7z1O3T0tc631MUmIiL2Of83cuTWmBvJvmIEmbvDreIrs5jEKIZoAvYKXLLb8NLFYUZZ4QoikwG8inM5+gKMpOIcQMoBsQBtwGHiiKMkUI0RmYCbwE6gA3gBqKokQIIWoAcxRFaax7WHQBUBdt1P++oijuQoi+Ovtvddr6AGOABOAZ0FtRlPtCiKAU6/0LqAz4KIpi+I6/FOTPXzLHb5oUNn/bDYb3Q1IuuHeUmPTu8uAzS27YD5A7jolHd/fktAQAqlfqkaP9C3L+y8HXNV/GRu+YCgGPcloCnsWq5LQEAExzwYvQiuaCHwD/OWjDez85rpdt984n6QqBe3L+pJcA7368c2qss332KopyADBLsVw+xWd/oGYabSagfVg0dflWYGuKIpcUdeeAxrrPLwGjX69QFGU1sDrF8hrA6HFyRVFSrrd7WtslkUgkEonkfxP5I0H/v8ir453zl/cSiUQikUgkEokE+Hc55xKJRCKRSCS5BvkjQf+/yKvjLSPnEolEIpFIJBJJLkFGziUSiUQikeQJcskz+5L3RF4dbxk5l0gkEolEIpFIcgkyci6RSCQSiSRPkFff3iFJm7w63jJyLpFIJBKJRCKR5BJk5FwikUgkEkmeIK++vUOSNnl1vGXkXCKRSCQSiUQiySXIyLlEIpFIJJI8QV59e4ckbfLqeMvIuUQikUgkEolEkkuQkXOJRCKRSCR5grz69g5J2uTV8ZbOeQZMtGuQ0xKYH302pyXQzLpCTkvA58nlnJbAq8T4nJYAQAEz85yWkGs4f3V9TksATUKOdl+ryhc52j9AJctSOS2BcQWe57QEIHc8pFas3IucliCRSLKJdM4lEkm2qF6pR05LyB2OuUQiyTXkhgsjyfsjr463zDmXSCQSiUQikUhyCTJyLpFIJBKJJE+QV3OQJWmTV8dbRs4lEolEIpFIJJJcgoycSyQSiUQiyRPk0ddeS9Ihr463dM4lEolEIpHkCfJqmoMkbfLqeMu0FolEIpFIJBKJJJcgI+cSiUQikUjyBHn11XqStMmr4y0j5xKJRCKRSCQSSS5BRs4lEolEIpHkCZJyWoDkvZJXx1tGziUSiUQikUgkklyCjJxLJBKJRCLJEyjkzRxkSdrk1fGWkfN/QZlGlfna/xcGHZ5LnUEeRvXVejRjwN5Z9PeeSe8tkyhWzgkAxypl6O89U/vnM5MPWtXIUr9Nmzfg1HlfzgTsY+iIgUb15uZmLF+1gDMB+9jrv5kSJZ0M6p2cHQhSX+SbIV/oy77+pi/HTu/h6KndLF05j3z5zLOkya1RVX71/4PfDi/Gc1Bno3r3/u2Zv/935vj+yqS/plHMyRYAlwql+XHbbObt+405vr9S171+lvpt3qIhFwIOcOnKQUaO+tqo3tzcnDVrf+PSlYMcPLyNkrp90aRpfY4e38npMz4cPb6TRo3q6Nt07tyOU6d9OHtuL9Omf2fQ17WrR7h5/Rhjx3yTZl9/rf+Tm9ePceLYLkqVctbXfTf2W25eP8a1q0do2aKRvrxVy8ZprnPwoL7cvH6MxPgQbGyK6stHjfyac2f9OHh0O0dO7iIs6jpWRS1p2qwBJ8/5cuaiH0NHDEhDmxnLVs3nzEU/fA9s0h8TJUo68TDsEgePbufg0e38Mn+qvs3fW5dz8NgOjp7azS/zp2Jikvnpol6T2uw8tpHdJzfzxbe9jOqr13bjb7/VXAg+Sgv3JvryDyqWw2v3Uv45vJ4t/l606tAs031mlQkz59Gw3ed49jQ+bv5Ljp0+j3uPQbTpNpDl67YY1avDHvPl8Al07DuEvkN/IOxxhL5u3p+r8ezzLZ59vsXnwNFsa6jb5BO2HdvAjpN/0+/bnkb11WpX4S+/lZwNPkxz98b6cgdnO/7yW8nG/avZcngdXXp7ZltDrcY1WX9kNRuOraXHN58b1Vf55GNW+C7m4AM/GrdraFBX3LE4c/+ajdehlXgdXIm9s122NBSsXx0X7+W4+K6kaP+uRvUWni0oc3wjJf9ZRMl/FmHRpbVBvUmhgpQ+6EXxCYOz1f8bDaV9llF67wqsB3xqrKFjc8qe2Eipbb9TatvvWHZpZaShzCEvik8clG0NZtVqYfWnF1ZL1pO/S/c0bczrN8Fy0RosF62m8OiJ2r5t7bBcsAzLX5djuWg1+Vq3z7YGiUSSPrk+ci6EsAK6K4ryR05rSYkwEbSe3pe/evxEXFgUX+yczp39F4i4E6K3ubrjBBfWHwCgXPNqNJ/Qg419fubxrWBWeExA0SRRuLgV/X1mcnv/BRRNxtlTJiYmzJ47mS4d+qEOCWPfoa34eh/g9q1AvU2P3p8SExNLLbcWdOzcjslTx9C/33B9/fSZ4ziw74h+2d7BjgFf9aJerba8evWa5asX0LFzOzb+tS1T+8LExIQvp3/F9B6TiQqL5Kedczi3/wzBdx7pbe5fu8937iOJfxVPy56t6TWuL/O//YXXL1/z24gFhAWFUrS4NbP3zCXgyEVexD3PVL/z5k+jvXsvQkLCOHJ0B9579nPz5l29TZ++XYmJiaXKx03o0sWd6TO+p0/vIURGRvFpl/6EhT6mQoXybN+5hvKudbC2tmLGzHE0qNeeiIgoliydQ+PGdTly5BTz5k+jVZvPCQ4O5dRJb3bt9uPGjTv6vr7o143o6Fg+rFCfrl3b89PM8XTvMYiPPipH164dqOzWFEdHO/b6bOSjig0AWPjrj7Ru281onSdOnmWP934O7DN05ubOW8zceYspWqAwLVs34etv+hIX+5RZcyfxqWc/1CHh+B3cgq+3fxrHRBy1qrbEs3NbJk0dzYB+IwAIuv+QJg2Mna4v+w7j2VPtOKzyWkj7jq3ZvtU7U+Pyw0+jGNh1GOGhj9ngu5JDfke5dztIbxMaEsaEYdPpO7iHQdtXL18xfsg0Ht4PxtauGBv9VnHi4Gmexj3LsN+s4tm2Bd07t+eH6XP+83W/QaPRMGP+EpbNm4a9rQ2fDRxFk/q1KOtSUm8z54+VtG/VhA5tmnH6/CUWLF3LrAkjOXzyLNfvBLJlxa/EJyTQb9gPNKhdncKFCmZJg4mJCd//NIpBXYcTHvqY9b7LOex3LNV4hDN52I/0HtzNoO2T8Ej6uH9FQnwCBQoWYMthLw7vPcaT8AiygomJCSN/HMqIbmN5EvqEZd5/cNzvJEF3HuhtwkMeM3PEz3z+tbHDOuHX71i78C/OHT1PgYL5SUrKxk+PmJhQfOI3hHz5AwnhEZTatJDnB08RH/jQwOyZzxEez0j768ZmaG9enrua9b5TaLCb9A3BX+g0bP6VZ/6njTQ89TnM4+l/prmKYsN68fLclX+lodDXw4mbOIqkyCdYzltCwunjaB4lj4WJgxMFuvQgbuw3KM+fISytAEiKjiR29GBITID8BbD6fRXxZ46jREVmX89/THYODcn/Lnl1vP8XIudWQPbDFO8IR7eyRAWFE/PoCUkJGq7vOkX5FtUNbOKfvdR/NiuYT/858VW83hFX5TNDycLBVa1GZe7fe8CDoEckJCSwbese2rRrbmDTpl0zNm7QOtY7t/vSoHGdFHXNefggmFspHFgAU1NT8hfIj0qlomDBAoSFPc60Jle3coQFhfH4UTiJCYkc33WUGi1qGdhcO3mF+FfxANy+eAtrBxsAQu+rCQsKBSD6cRSxEbFYWFtkqt8aNapwL/ABQbp9sWXLLtq5tzCwadeuBevXbQVg2zYfGjeuC8DlS9cJC9Vu4/Xrt8mfPz/m5ua4lC5J4N0gIiKiADh48DgdPFvr+7p//yEJCQls2rSD9h6GEa32Hi3x8toMwNate2japL6uvBWbNu0gPj6eoKBHBAYGUatmVWrVrEpgYFCa6wwIuMaDB8Fv3f5OXdrxz5bdVKtemaB7D3gQFExCQgLb/9lDm3aGEec2bZvyt+5ia9f2vTRIcacgPd445qamppiZmZHZA7VS1Qo8vB9MyEM1iQmJ+G7fT5NWhpFQ9aMw7twIJCnJ8IL0wb1HPLyv3e4n4RFERURT1MYqU/1mlRpuH2NpUeSdrPsNV27coaSTAyUc7TEzM6NNswb4HzttYBMY9Iha1SoDUKtaZQ7q6gODHlGjSkVMTVUULJCf8mVcOHb6QpY1VKr6EY9SjMfe7Qdo3KqBgU2ofjwMxzgxIZGE+AQAzPOZIUT2biF/VPVDQoJCCH0YSmJCIgd2HKR+q7oGNmHB4QTeuIeSSoNLuVKoTFWcO3oegJcvXvH61essa8hf+QMSHoaSEBwGCYnEeR+mUNOMz4M35KvgiqqYFS+OZ30MkjWUJ+GhWq/hqfdhCjernXkNFV1R2RTl+b/QYFruIzShISSFh0JiIq+P+GP2ieEdy/ytPHjlvQ3lufaiWImN0VYkJmodc0CYmUEW7qZJJJLM879wZs0CygohAoQQvwghxgghzgohLgshpgIIIVyEEDeFEKuFELeFEOuFEM2FEMeFEHeEELV0dlOEEF5CiJO6cuP7/5mkiL01T0OTowVxoVEUsS9qZFe9dwsGH5lHs3Hd2Dt5jb7c0a0sA/fNZuDeWfiOX5mpqDmAg4Md6uAw/bJaHYaDo52RTUiw1uHVaDTExT3F2roohQoVZOiIAfwy63cD+7DQcBb9toKAa4e4duc4cXFPOeR/PFN6AKztbYgMTY6kRYVGYmNvk659s89acPHQeaNy1yrlMDU3JfxBWBqtjHF0tCc4JFS/HBIShqOjfSobO72NRqMhNu6pQZoIgKdnGy4FXCU+Pp57gUGUK1+GkiWdUKlUeHi0wMnZ0aiv4JBQ476c7HkUrE7uKzYOG5uiODoml+vbOtkb2Ke3zvQoUCA/TZs3YPdOPxwc7QgJSXFMhITj4GB4TNg72BESYnxMAJQs5Yz/0W3s2ONF7TqGF5ib/lnOjcATPHv2nJ3b92ZKm52DLeHq5Iu78NDHFHewzVTblFSqWgEzMzMeBYVkbJxLeRwRiX3xYvplO9tiPH5iGGX8wLU0+4+cBGD/kZM8f/GSmNg4PihbmmOnL/Dy1WuiY+I4e/EKYY+fZFlD8TTGwzYL42HnWJy//dfgc34bqxetz3LUHMDWvhiP1cnan4Q+oZh9sbe0SKZEGWeexT1nxrIprNi7mMETBmYpxeoNpsVtSAxL1pAYHoGZnfE8VbhlfUpt/xOHBeMxfaNRCGy/G0jEz8uz3K+BBrtiJISm0BAWgWkaGoq0qI/Ljj9w/NVQQ/HvBvDkX2owsSlGUkTy8ZAU+QSVjeFYqJycUTmWwGL271j88gdm1ZKDLSbFbLFcuJKiqzbzcstfuSpqDpCEeOd/ktxDXh3r/wXn/HsgUFEUN2AfUA6oBbgB1YUQb0JyrsBc4EPdX3egPjAa+CHF+ioDTYE6wCQhhOO7FH9+7T7+aDgS/1kbqT8kOXVAHRDI0hbfsbL9ROoObo8qn9m7lAHA2HFDWLxoNc+fvzAot7SyoE3bZlT/uCmVytenYMGCfPrZu8klbNCxEWU+dmXnEsOUGaviRRkyfwR/jF6IkpVbCf+Sjz4qx7QZ3zF0yHgAYmLiGD5sImu8fsdv/yYePAhBo9G8Nz2ZpVWbJpw5dYGY6Nh/tZ7wsMdUrdiEpg06MnH8LBYvn0vhIoX09V079adS+frky2dOg0aZj/D9W4oVt2Hmb5OYNHzGez0ecoLRg/txLuAqXb4cxrmAa9jZ2mBiYkK9WlVpULsGPQePZcy0X6hS8UNUORCpDFc/5rOmfehQ5zM8urbBuphxEOJdojJVUblWJRZNX8LAtoNxKOlAm66tMm6YDZ4dOsX9Zn144DmIFycuYv/TaACsurnz/MgZErNxYZJlDQdPc69ZX4I6DOb5iQvYzxql1dDdneeHz74XDahUqBydifthGM/mTKPQt2MQhQoDkBTxhNihXxA9sDv5m7VGWL3f40Ei+f9Ars85T0VL3d9F3XJhtM76Q+C+oihXAIQQ14ADiqIoQogrgEuKdexQFOUl8FIIcRCto789ZSdCiIHAQIAO1rWoWdjVSMjTsCiKOCRHPCwcrHkaFp2u8Gs7T9J6Rj9giUF55F018S9eUby8M6FX7me4A0JDw3F0To6uOjraE6oON7JxcnYgVB2OSqXCwqIIUVHRVKtRBY8OrZg8bQyWlhYkKUm8eh3Pk8cRPHgQTGSkVv/uXX7U/KQqm//emaEegKiwSGwckiMv1g42RIYZR1M+rleFTt9+yuSu40mMT9SXFyhcgHGrJrJhzjruXLydqT5Be9fA2clBv+zkZI9aHZbKJhxnJwfUIWGoVCosLYrot9PRyZ6/Ni5hYP9R3L+fnPPp430AH2/tswL9vuiGCGjxjAAAIABJREFURqMx6svZycG4r5AwSjg7EhISqu3L0oLIyGjUam25QVtdpNuoXJ25uwaendrxz5Y9AISqw3FySnFMONkRGmp4TISFhuPkZHxMAMTHa29ZXw64RtD9h5R1Lc2li8l5ta9fx+Oz5wBt2jbj8METGWoLD32CnWNx/bKdQ3Eeh2Y+4luocEEWrZvLb7OWcPnCtUy3y40UL2Zj8IBn+JMIitvaGNn8+qM2fvDixUv2HzmBRRGtI/RV76581Vv74OLYaXMoVcLw4e7M8DiN8XiShfF4w5PwCO7evEe12lXYv/tQ1tqGRVDcMTlab+tgS0RY5pzMx6FPuHstkNCH2js/x/Yep0K1CuzZ6JMlDYmPIzG1T9ZgaleMhHDDeSop5qn+c+wWX4qN/hKA/G4fUaB6Jay6eWBSMD+YmZL04iUR81ZlTUN4BGYp7lqY2hcj8W0aNu/FVqehgNtHFKheEavu7oiC+RFmZiQ9f5VlDUmREZgUSz4eTGxs0UQajkVSxBMSb90AjYak8DCS1I8wcXRGc+em3kaJiiTxwX3MKlQm/sThLGl4l+TVt3dI0iavjvf/QuQ8JQL4SVEUN92fq6IoK3R1KZMQk1IsJ2F4EZI6DGcUllMUZamiKDUURamRlmMOoL50D+vS9liWsMXETEUFj9rc3meYqlHUJTm1oFxTN6KDtI6XZQlbhEq76y2cimFT1pGY4Mx9WV48f4UyZVwoWcoZMzMzOnZuh6/OkXyDr7c/n3frCEB7z9YcPay9Ze7RujvVPm5KtY+bsuTPNSyYs5gVS9cRHKymRk03ChTID0DDRnW4fetepvQA3L10B4fSDhQvURxTM1PqeTTg3L4zBjYuFUsz8KdBzP7yR+Iik6O9pmamjFk6jsNbD3LKO2PHLyXnz1+mrKsLpXT7oksXD7z37Dew8fbeT4+e2rfHdOzYhsO6fWFpWYStW1cyedJsTp0yHDdbnfNkZWXBgIE9WbP6b31fLi4lMDMzo2vXDuza7WfQbtduP3r10j7M1rlzOw4eOq4v79q1gzan3aUErq6lOXP2ImfPBeDqWvqt60wLC4si1K1fUz/uFy9coXTZ5GPCs1M7fL39Ddr4evvzWXftMeHh2YpjR04BYGNTVJ8iUMrFmTJlXXgQ9IhChQpiZ6d1IlQqFS1aNebO7cwdE9cCblCqTAmcSjpgamZKa8/mHPLL3JtGTM1MWbBqNrs2+7Bv98FMtcnNVPqwHA+D1QSrw0hISMDnwFGa1PvEwCY6Jk6fe79s/RY6ttU+Q6LRaIiJjQPgVuB9bgcGUbdm1SxruBZwk5JlnHHUjUcrz2Yc8juWqbbFHWzJl1/75qYilkWoWqsyQXcfZtDKmJsBN3Eu7YRDCXtMzUxp1qEJx/wyd77f/D/27jsqiqsN4PBvdsEuFkRptkST2LHE3rA3lKjRJPYSjcbYS+y9915i7xpjB1GKihi7WLELFjoImtiAZb4/1gDrooLRgPu9zzmcw+69M/fl3tndO+/eGS7cIFuObOTMnQOActXKEnDz3ju2Mvbi8g3MC9piZpcPzM2waFKLp4dPGtTRWuVO+D1bncrE3NX/rSFDZ+BftyP+9ToRPmMlf+3xTPWkWB/DTcwL2mL+KobsTWrxt9frMSRmorPVqUzMHf2F9cFDZnC3Tifu1u1M+IyVPNnj8V4xxN26jtbWHk0+azAzI2PNOsSeNlzGGHPSB7NSDgAoFjnQ2OYnPiQIjaUVZNAfD0rWbJgXL4Uu8IFRG0KIf+dTyJz/Bfxz1dZBYKKiKJtUVf1bURQ7IDaV+2uhKMpUICtQG/2ymVRTdfEcHLOW79cPQ6PVcHH7USJuBVJzYCuCL/lzy+M8FTo1oHD1ksTH6nj+5Cl7By4DIH+FL6na24n4WB2qGo/bqDU8j0rZ3Sh0Oh2/DpnA77tWodFq2bxhBzeu3+bXkX25cP4Kbge82LT+d5asmMnpC+5ERz1OuCvHm5w/e4l9ew7idWw3cXFxXL50jfVrtqa4L+J18awas4KR68eh0Wo4vN2Th7ce0HbgD9y5dJuzHqfpMKILmbJkZtCSoQBEBEUwvftkqjSrRrGKJcieMzuOresAsHjwAgL83v0tgk6nY9DAsezeux6tVsOG9b9z7dotRo0ewPnzl3F18WDd2m2sXDWXi5cPExX1mM4dfwGg50+d+Ozzgvw6vC+/Du8LQAunjoSHRzJj5hhKlSoGwLSpC7h9Wx/LoIFjcXXZjFajYe26bfj53WTc2MGcPXeR/fvdWb1mK+vWLuC6nw9RUdH80F5/HbOf30127NjH5YuHidPp6NtvZMJkrF//UUb7BOjzc1cGD+qNtbUVvuc8OODmRc+fhgDg3KIxR7yO8+zZ84R+GD54Att3rkSj1bJl4x/cuH6bYSP6csH3CgcPeLFpww79MeF7iKiox/Toqj8mqlT7mmEj+hIXG0e8Gs/gAWOJjnqMlZUlG7YuJUOGDGg0CsePnWLt6pQdEzqdjikjZrN0yzy0Wg27t+znzg1/eg/9Eb8L1zhyyIcSDsWYt3oaFjmzU6t+dXoN6U7LWu1o2Lwu5So7kCOXBc3bNgFgdL9J3Lh66x2tpt6QsdM443uJ6Ogn1HVuT+9uHWjl9GGXS5iZaRnRvyc9B49DFx/PN03qUaRwARat2kSJL4vgWL0SZy5cZt7y9SiKQvkyJRg1QH9rx7g4HR37DAcgW9bMTBs1EDMzbapj0Ol0TB8xlyVb5qDRatmzZT93b/jTa2h3/C5c5+ghH4o7fMWc1VOxyJmdmvWr8dOQ7rSu1Z7CRQsxcFwf/cXAisL6pVu4fT3lJ+6JMcQzd9RCZm+ejkajwWXbAQJu3qPb4M5cv3iD4+4n+KrMl0xeNZ7sObJRtX4Vug7qRMc63YiPj2fxhOXM2zYLFLh5+Rb7NrukOgZ08YRPWoL9ysmg0fBk5yFibt/D8pcOvLhyi6eHT5KrfQuy1qkMcTp0j/8iZPjs1LfzjhjCJi7FftUk0Gh5/MchYm7ffxXDTZ4ePkWuDi3I5lgZVacj/mPEEK/j6bJ5WIyfBRoNLz1c0d0PIHO7rsTduk7s6T+JPX8a87Jfk2PxOoiP59mapah/PcHMoQLZu/ZGn9NSeL5rG7p7qT8ePiZT/Y+RInmmOt7Kp7CeU1GUzejXih8AHgLdXxX9DbQHdMB+VVVLvqq/9tXjHYqiFPqnTFGUccBn6JfC5AFmqKr629vanlywXZp30NyoM2kdAo65iqV1CBwIv5TWIfAiLiatQwAgV+ZsaR0CNplzv7vSR3buyqa0DkFPl9ocwYdVsUzXd1f6yLJpM6V1CKyy+PjX7qSEqqb9V+15ij57d6WPzHLf0f+8I9zztf3on9n1Q7el/QAL4OOPd1qN9aeQOUdV1df/S8L8ZKqVTFK/c5LfA5KWAZdUVe34IeMTQgghRNoz1TXIInmmOt6f2ppzIYQQQgghTNYnkTn/UFRVHZfWMQghhBDi4zDVNcgieaY63pI5F0IIIYQQIp34v8qcCyGEEMJ0mWomVSTPVMdbJudCCCGEMAmmeoGgSJ6pjrcsaxFCCCGEECKdkMy5EEIIIUxCvGkmUsUbmOp4S+ZcCCGEEEKIdEIy50IIIYQwCfEmugZZJM9Ux1sy50IIIYQQQqQTkjkXQgghhElQ0zoA8Z8y1fGWzLkQQgghhBDphGTO30GbDtYzxatpf25olg76QaOkfQxpH0H6oUhvJNKap2nzp69soGrpzmkaQ2ZN2vZBeqIoaf+erfyfpt5M9Z/SiOSZ6njL5FwI8enSxaZ1BGk+MRdCCGFaZHIuhBBCCJMQnw6+YRX/HVMd7//TL76EEEIIIYRIfyRzLoQQQgiTkPar/cV/yVTHWzLnQgghhBBCpBOSORdCCCGESTDVu3eI5JnqeEvmXAghhBBCiHRCMudCCCGEMAnxpnnzDvEGpjrekjkXQgghhBAinZDMuRBCCCFMQrz85+L/K6Y63pI5F0IIIYT4gBRFaaQoyg1FUW4rivLrW+q1UhRFVRSlwn8Zn/hwPsZYy+RcCCGEECZB/Q9+3kVRFC2wGGgMFAe+VxSleDL1sgP9gFPv9ccKkx1rmZz/C4VrleZHr5n0PDqbyr2cjMod2tWh68GpdHGdTLsdo7EsamtQbmFryUC/lVTs0SRV7datV4NT5w9y9oIH/Qb2MCrPkCEDq9bO4+wFD9y9dpC/gJ1BuZ29DfeDL9Cnb7fEWHJkZ+2GhZw858bJs258XdEhVTGVqVWW2V6LmXt0Kc17tTQqb9K9OTM9FjLdbR4jN08gj50VAHnsrJjiMpuprnOZ6b6Aeu0apqrdevVrcs7XgwuXvBgw6Cej8gwZMrBm3QIuXPLC68hOCrzqi/LlS+NzYj8+J/Zz/KQLzZwaAJAxYwYOH93F8ZMunDrjxoiR/ZNtt0GD2ly54s01Px+GDPk52XY3bVrKNT8fjvvso2BB+4SyoUP7cM3PhytXvKlfvxYAX3zxOWfPHEr4iYy4Tt9fugMwevRAAvzPJpQ1alTHqL06dWtw4qwbp30P0XfAj8nEY85va+Zy2vcQbp7bE46J/AXsuB9ykcPHdnP42G5mzh0PQObMmdi8fTl/njnAsZP7GT1u0JsHIRlVHSuxx2cL+05sp2ufDkbl5So7sPXQGs499KZeM8eE578sUZT1+1ew8+hGfvdaT8MWdVPVblI+p87RrF0vGn/fg5UbdxiVB4WE0a3/KL7p/Aud+44gJCwioWzO0rU4d+qDc6c+HPA89t4xvMuoKXOo2fQ7nNsbH7sfUpXaFdlxbCM7j2+mU592RuVlK5Vhw8GVnLjvRZ2mtYzKs2bLwv6zOxgyOfnXQ0pUqF2eVUdWsubYatr2bmNUXqpSSRa7LuKAvws1mlQ3KOs+ohsrPJaz0msFvcf3eu8YslQvTyHXlRRyW02u7sYxWDjX57PjWymwczEFdi7GonUjg3JN1iwUPryBvKN6f9IxmJetSI4lG8ixbBOZWv2QbJ0M1RzJsWgdFgvXknXgaH3bVvmwmPMbFnNXYrFwLRkbNX/vGD6WeOXj/6RAReC2qqp3VVWNAbYCLZKpNxGYDrz4YB3wf8ZUxzrdrzlXFGWEqqpT0jqO1ykahQYTO7G13TT+CnlE570TuOVxjshbQQl1/Pac4MImLwCK1CtH3VHt2d5pRkJ5ndHtuHvkYqra1Wg0zJg9jpYtOhMUGILn0T9wc/Hixo3bCXXad2xNdPQTKjjUo2WrpoybMIRunRM/VCdPHYGnu7fBfqfOGIWnhzedO/yCubk5mbNkSkVfaOgysSdT2o0lMiSSyXtncs7jNIG3HibUCbh6l5HNBhHzIoZ67Rvxw/BOLOgzi6iwKMZ8M4y4mDgyZsnEzEMLOOd+mqiwqBT1xew542nh1JHAwBCOHNuNq4sHN64n9kXHTm2Ijn6CQ+k6tGrdjPETh9GlU1/8/G5Sq3oLdDod+ayt+POkCwdcPXn5MoZmTdrx9OkzzMzMOOSxHfdDRzhz5oJBuwvmT6Zxk+95+DCYkydc2b//ENeu3Uqo07XL90RHPaZY8eq0adOcKVNG0q5dL4oVK0rbNi0o41AHW9t8uB3YSvESNbh58w4Vvm6QsP97AefYvedAwv7mL/iNuXOXJzzOmTmbQTzTZo/hW+cuBAWGcujwDtxcvbh5405CnXYdvyU6+gkVyzbAuVUTxowfzI9dBujHxv8+jjWcjfp38cLVHD92CnNzc3buXUvdejXx9PA2qpfcuIyYOpiebfoRGhzGZrdVHDl0jLs3AxLqhASGMLrfJDr1NpwYvHj+glG/TOC+/0Os8uVhy6HV/Hn4FH89+fud7Sal0+mYNHc5v82ZgLWVJW17DMKxekU+L1Qgoc6sJatp3tCRFo3rcurcReatWM+0UQM5euIMfrfusGPVfGJiY+nSbwQ1KpcnW9YsqYohJZyb1OeHVs0ZMXHWB9/3PzQaDUOnDKDPdwMJDQ5nnesKvA/64H/rXkKdkMBQxvefQvufvkt2Hz8N7Y7vqdS9V70eQ59JP/PrDyOICI5g4f4FnHA/yf1b9xPqhAWGM2vgbFr3bGWwbfHyxShRoTg/NdBPyufsnE3pyqW5dPJSaoMg7+ifCew2gtjQCApuX8DTwyeJuXPfoNrfB7wJm7Qk2V1Y9u3I87NXUtduOowhS8/+/DV2EPGR4VjMWk7M6ePEP0g8HjQ2dmRq3Y4nw35Gffo3So6cAMRHRfJkaG+Ii4VMmcmxYA0xp4+jPop8/3g+QYqi9ACSZsZWqKq6IsljO+BBkscPgUqv7aMckF9VVRdFUYZ8tGDFv5JWY/0pZM5HpHUAybFx+JyogFAePwgnPlaH376TFK1f3qBOzN/PE343z5IRNcmXJEUblOfxg3Aibgamqt3yFUrjf/ce9wIeEBsby84/XGjczDC72KRpPbZu3gnAnt1u1KxdJbGsWT3u3XvI9SQTyewW2aha9Ws2rPsdgNjYWJ48/ivFMRVxKEpIQDBhD0LRxcZxYp8PFeobHJv4nbhCzIsYAG773iC3jSUAutg44mLiADDPYI6iSfnFHRUqlOHu3XsEvOqLP3bsp2mz+gZ1mjarx5ZNfwCwe9cBateuCsDz5y/Q6XQAZMqYETXJ91dPnz7Tx2Nuhpm5Gapq+OVWxa/LcudOAP7+94mNjWXb9j04ORlm/J2cGrBhg74///jDhTqO1V8935Bt2/cQExNDQMAD7twJoOLXZQ22rVOnOnfv3uP+/ZQdG+XKlybg7j3uBTwkNjaW3TtdaNzU8Jho3KQO2zbvAmDf7oPUqFUluV0leP78BceP6b99i42N5dJFP2zs8qUonpJli/PA/yGB94OIi43DbbcHtRvWMKgT9CCEW9fuEB9v+C8k7t19wH1//UldeGgEjyKiyGWZM0XtJnX52i0K2NmQ39Yac3NzGtetgZeP4beJdwIeULFcaQAqlivN4VfldwIeUKFMCczMtGTJnIkvPiuEz6nzqY4hJSo4lCKHRfaPsu9/lChbjAcBgQTeDyYuNg73PZ7UamiYmQ5+GMLta3dR442/yP2q1BfktsrFqaNn3juGLx2+JCggmJD7IcTFxnF071GqNjA8BkMfhuJ/3d/o9aaqkCFjBswymGGewRwzcy1REe8+eX9dptJfEns/mNiHIRAbxxPXo2St8/bXQVIZixdBmycnz46//7GQHmIwK1qM+JBA4kODIS6OmGNeZKhoeDxkbODES9ddqE/1J8Xq42h9QVycfmIOKObmoEl/U4j4/+BHVdUVqqpWSPKTdLL2ToqiaIA5QOq+khRGTHWs09UrS1GU3YqinFMU5aqiKD0URZkGZFYU5YKiKJte1WmvKMrpV88tf7XeB0VR/lYUZearbT0URamoKMoRRVHuKorS/FWdzoqi7Hn1/C1FUca+b6zZrXPxV/CjhMd/BT8iu3Uuo3rlOtajp/dsHId/h8fY9YB+ol65VzN85u1Mdbs2NtYEBgYnPA4KDMHGxnDSZGObj8CHIYA+g/jk8d/ktsxF1qxZ6DegBzOmLjSoX7BgfiIiHrFo2XSO+Oxh/qLJZMmSOcUx5bLOTWRw4pKAyOBIclnnfmP92m3rcfFI4odLbps8THebx6KTK9m7bGeKsub6v9Oahw+T9kUwtsn0xT91dDodT578RW5L/ThVqFCGU2fcOHH6AP37jkqYrGs0GnxO7OdOwBkOex3n7FnDjKGtnTUPHyZ+QxIYGIydrbVRnQev6uh0Oh4/foKlZS7sbI23tbUz3LZtmxZs27bb4Lnevbpw/pw7v62YTc6cOYz+xsDAkCT9EGp0TFjb5Es4bhL6Ibe+HwoUtMfr2C72uGygchXDE0zQL3lq0NiRY0dPGJUlJ6+NFSFBoQmPw4LDyWdjlaJtkypZthjm5uY8CEjdCSxAWEQk1nnzJDzOZ5WHsHDD7N6XRQrj4a3/mzy8T/D02XOiHz/hy88L43PqPM9fvCQq+glnfC8TEhae6hjSCyvrPIQGhSU8Dg0OxyqF46EoCv3H/sz8CclncVMqj7Ul4UGJfRgeHIGltWWKtr12/hoXTlxk69nNbD23mbNHz/Hg9oN3b/gas7yWxIUkxhAXGoF5PuMYsjWoTsHdS7GZNxIz61fHkKJgNawHETNWprrd9BaDYpkHXUTi8RAfGY7GMo9BHa2tPRrb/GSftgiLGUswL1sxoUyTxwqL+avJuep3Xuzc/H+XNU+hQCB/ksf2r577R3agJHBEUZQAoDKwVy4K/SR9lLFOV5NzoKuqquWBCkBfYCbwXFVVB1VV2ymKUgxoC1RTVdUB0AH/LKDMCnipqloC+AuYBNQHvgEmJGmjItAKKA18+7FfDOfXe7C85iCOTNtK1V/0SweqD2jJmZVuxD57+TGbNjJsxC8sXbQmITP8DzMzLWUcSrBm5WZqV2/Bs6fP6T+w50eJofo3tfisVBH2Ld+V8Nyj4AiGNerPgJo/UbOVIzny5HjLHj6cs2cvUunrRtSu6cygwb3ImDEDAPHx8VSv0oxiX1SlfPnSFCv+xX8SD4C5uTnNmjVgxx/7E55bvnw9X35VlfIVGhAcEsbMGWM+WHuhIWGULeFInRrfMHrkNJatnE227FkTyrVaLStWzWHlsg3cC3j4lj19WHnyWjJ54RjG9J9slEn9UAb37sLZC1do3a0fZy9cJZ+VJRqNhmoVy1KjcgXa9x7KkAkzKVPiK7TpMEP4X2jd+RuOe50kLDjtTk5sC9lQoEgBfqjYnu+/bodDVQdKVizxUdr6+8hJ/Ot24p5zL5796Yv11MEA5Py+GU+9TxMXGvGOPZhGDGi1aG3t+WtkP/6eNYEsfYagZNUvpYuPCOdJv65E//QDGR0boeQwTkqlpfRwQShwBiiqKEphRVEyAN8BexNiVNXHqqrmUVW1kKqqhYCTQHNVVc++/1/+/8lUxzq9rTnvqyjKN69+zw8Ufa28LlAeOKMoCkBm4J8UQAzg9ur3y8BLVVVjFUW5DBRKsg93VVUjARRF2QlUBww6Kekao29yV6RittfDgL9Coshuk5gdzm6Tm79C3pzx9dt7kgaTugBg61CErxpXxHH4d2S0yIKqqsS9jOX8Ovc3bv+P4OAQ7OxsEh7b2lkTHBxqWCcoFDt7a4KCQtBqtVjkyMajyCjKVyhD8xaNGDdxKDlyWBAfH8+LFy/Zu9uNoMAQzr3KEO/Z45aqyXlUyCMsbRIzL5Y2lkSFPDKqV7JaaZz7tGZCm1EJS1kM9hMWxcOb9/myYnFOu747SxscFIK9fdK+sCEomb6wt7dJ7AuL7DyKNBynmzfu8PfTpxQv/iW+vpcTnn/8+C+OeZ+kXv2aXPO7mfB8UGAI9vaJF/fa2dkQGBRisM+gwBDy29sSGBiMVqslRw4LIiOjCAwy3jYoSda7USNHfH0vE5bk4sSkv69atYndu9cZ/Y12SbLvtnb5jI6JkOBQ7OxsCA4KTeyHR/p+iInRf2V96cJVAvzv83mRwlz01a9pnTN/InfvBLB8qWGbbxMWHI61bWLmPq+NFaGpmNxlzZaFRRtnsXDaCi6fv5ri7ZLKm8fS4ALP0PAI8lpZGtWZP1m/au7Zs+d4eP+JRXb9BKRnxzb07Ki/WG/ohFkUzG94UfWnJDwkgny2eRMe57OxIjyF41G6fAkcKpWmdSdnsmTNjJm5Oc+fPmfRlOXv3jiJiJBIrGwTs/VWNnmIDElZxrVaw2pc973Oi2f666jOHD5DsXLFuHI6dcdGXFgkZtaJMZjly0NsqGEM8dGJy/ke73Ajz2D9RfOZHIqRuXxJcn7vhCZLJjA3I/7ZcyLmrPnkYlAjI9DmSTweNJZWxEcaTvjjI8OJu3kNdDriw0KID3yAxsYe3e3rift5FInuvj9mJUoT++fRVMVg6lRVjVMUpQ9wENACq1VVvaooygTgrKqqe9++B/Gp+FhjnW7SQYqi1AbqAVVUVS0D+AKvX5WoAOteZdIdVFX9UlXVca/KYtXEFFs88BJAVdV4DE9CXj8ZMjo5SrrGKLmJOUDwxbvkLmxNjvxWaMy1FHeqzG13w3WAuQolTlCK1HEgKkA/Cdv07USWVh/A0uoDOLv6ICcW703RxBzg/LnLfPZ5IQoUtMfc3JyWrZri5uJpUOeAqyff/aC/Y0oL50YcO3oSgKYNf8ChpCMOJR1ZtmQtc2cvY+WKjYSFRRAYGEyRooUBqFWrisFFle9y5+ItrAvbYJU/L1pzM6o4Veec+2mDOoVKFKb71N7M6jaFJ5GPE57PbW2J+auMdVaLrHxZoRjBd4JIiXPnLvHZ54Uo+KovWrVuhquLh0EdVxdPvm+nv8DM+ZvGHH21NKNgQXu0Wi0A+fPb8sUXn3Pv/kMs8+QmRw79GuBMmTLiWKc6t27cNdjnmbMXKFKkMIUK5cfc3Jy2bVqwf/8hgzr79x+iQ4dvAWjVqimHjxxPeL5tmxZkyJCBQoXyU6RIYU6f8U3Yrm1bZ6MlLdbWiR+kzi0ac/XqDYNy3/OXKZzkmHBu2RQ3Vy+DOm6uXrT9QX/e6+TcEB9v/TFhaZkLzauscMFC9nz2eSHuBeiXDAwf1R+LHNkY+Wvqrse+euEaBT6zx66ADWbmZjRyrsfRQz4p2tbM3Iy5a6ax7/cDeOw/nKp2kyr5VVHuPwziYVAIsbGxHPA8hmM1w+sgoqKfJKx5/23TDr5pUg/QL/uJfvwEgBt3/Ll5J4Cqr10X8Cnxu3CdAoXtsc2vH4/6Lerifeh4irYd3WciTl9/S4tKbZk/YQmuOw6memIOcOPiDewK2WKdPx9m5mbUal6LE+4nU7RtWFAYpSqVQqPVoDXTUrpyqfda1vLi8g3MC9piZpcPzM2waFKLp4cNY9BaJSZcstWpTMxd/YWaIUNn4F+3I/71OhE+YyV/7fFM9aQ4vcQQd+s6Ght7NHmtwcyMDDXqEHva8HiIPelJmb7aAAAgAElEQVSDeUn9HbuU7DnQ2OUnPjQIxdIKMujfr5Ws2TArVor4wNSPxceUTu7WgqqqrqqqfqGq6ueqqk5+9dyY5CZrqqrWlqz5+zHVsU5PmfMcQJSqqs8URfkK/bocgFhFUcxVVY0FPIE9iqLMVVU1TFGU3EB2VVXvvWmnyaj/arvngDPQ9X2CVXXxHBqzjrbrh6JoNVzafpSIW4HUGNiK4Ev+3PY4T/lODShYvQTxsTpePHmKy8DUf6i9TqfTMXTweHbsXo1Wo2XThh1cv36b4SP74et7GTdXLzau/51lv83i7AUPoqKi6f7qrhxvM2zwRJavnE2GDOYEBDygT6833kffSLwunrVjfmP4+rFotFqObPfg4a0HtB74Pf6XbnPO4ww/jOhMpiyZ6LdkKACRQeHM6j4FuyL2tB/VBVVVURSF/Sv28OBGyoZTp9MxZNA4du1Zh1arYcP637l+7RYjR/Xn/PnLHHD1ZP26baxYOYcLl7yIinpMl059AahStQIDBv5EbFwc8fHxDOw/hkeRUZQo+RXLVsxEq9Wi0Sjs+sMVNzcvo3b79R+Fi8tmtBoNa9dtw8/vJmPHDubcuYvs3+/O6jVbWbt2Adf8fIiKiqZde/1tz/z8bvL7jn1cuniYOJ2Ovv1GJkwQs2TJTL26Nende5hBe9OmjqJMmeKoqkrAvYdG5TqdjuGDJ7B950o0Wi1bNv7Bjeu3GTaiLxd8r3DwgBebNuxgyYqZnPY9RFTUY3p01R8TVap9zbARfYmLjSNejWfwgLFERz3GxjYfA4f04uaNO3h565cgrfptIxvXG9+SMLlxmTpiDku3zEWj1bJ7y37u3PCn99DuXL1wnaOHfCjhUIy5q6dikTM7tepXp/eQbrSs1Z6GzetSrrIDOXJZ0Lyt/hajY/pN5sbVW+9o1ZCZmZYR/XvSc/A4dPHxfNOkHkUKF2DRqk2U+LIIjtUrcebCZeYtX4+iKJQvU4JRA/S3M4yL09Gxz3AAsmXNzLRRAzEz06aq/ZQaMnYaZ3wvER39hLrO7endrQOtnFJ3O9F30el0zBg5jwWbZ6HVati71ZW7NwPoOaQr1y7ewPvQcYqX+YoZqyZhkTM71etXpefgrrR17PTBYojXxbNo9BKmbJyMRqvh4LZD3Lt5j46DOnDz0i1Oup/kizJfMPa30WTPkZ3K9SrRYWAHetTryTEXHxyqOrDCfRmqqnL26DlOerzHbaF18YRPWoL9ysmg0fBk5yFibt/D8pcOvLhyi6eHT5KrfQuy1qkMcTp0j/8iZPjsD9YH6SaGeB3PVswj+7hZoNHw0tMV3YMAMv/Qlbjb14k9/SexvqcxL/s1ORatQ9XF83ztUtS/nmBWpgJZuvbWX6WrKLzYvQ3dvbvvblMIkSrKx1rPmVqKomQEdqNfgnIDyAmMQ39j9+bA+VfrztsCw9Fn/WOBn1VVPakoyt+qqmZ7ta9xwN+qqs569fhvVVWzKYrSGf2EPAf6RfsbVVUd/7a4phVsn+YdNONR2v9/goa5P84az9RwiUjlrdM+guex/+11Am+S9FaKacU2c8ou6PuYzl5Mfebwg9Oap3UEAFQt3TlN28+l/fC3mkytRWn/skg38nzx/N2VPrLce47+5/9b/Tf7j/+Z/ePDjab5P+M/QR97vNNqrNNN5lxV1ZfoJ+KvOwIMS1JvG7Atme2zJfl93JvKgIeqqhrf1FkIIYQQQog0lm4m50IIIYQQ/0b8u6sIE2Kq4/1/NTlXVXUtsDaNwxBCCCGEECJZ/1eTcyGEEEKYLlVWg/9fMdXxTje3UhRCCCGEEOL/nWTOhRBCCGESTHUNskieqY63ZM6FEEIIIYRIJyRzLoQQQgiTYKqZVJE8Ux1vyZwLIYQQQgiRTkjmXAghhBAmIc3/pbf4T5nqeEvmXAghhBBCiHRCMudCCCGEMAnxJnrfa5E8Ux1vmZwLIYQQwiSY6gWCInmmOt4yOX+HE2p0WoeATZbcaR0CcelgZVeMLi6tQyBn5mxpHQIAz2JfpnUIuJXKmNYhULFM17QOgdNXNqR1CAD8eWltWodAjwpD0rT9eqE307T9f5hrzNM6BLQRab9qNX2MhhCfHpmcCyHEv1C1dOe0DiFdTMyFSA9MNZMqkmeq4532p9ZCCCGEEEIIQDLnQgghhDARab8AU/yXTHW8JXMuhBBCCCFEOiGZcyGEEEKYBFO9tZ5InqmOt2TOhRBCCCGESCckcy6EEEIIk2Cqd+8QyTPV8ZbMuRBCCCGEEOmEZM6FEEIIYRJM9e4dInmmOt6SORdCCCGEECKdkMy5EEIIIUxCvMnmUkVyTHW8JXMuhBBCCCFEOiGT83+hbK1yLDm8jGXeK2jVu7VRefPuzizyXML8gwuZsGUyVnZWCWVj149n0+WtjFoz5l/FUN2xMvuPb+fAyR10/6WjUXn5yg787r6Oi4HHadCsjkHZ8i3zOHHTg8UbZ/+rGAAcapVlvtcSFh5dhnOvVkblzbo3Z67HIma5zWfM5gnkedUXhYoXZvKu6cxxX8gst/lUbVY9Ve3Wr1+LS5cOc/WqN4MH9zYqz5AhAxs2LObqVW+8vfdQsKA9ALlz5+Tgwa1ERFxj7twJBtuYm5uzePE0Ll8+wsWLXjg7N35rDHXq1uDEWTdO+x6i74Afk4nBnN/WzOW07yHcPLeTv4AdAPkL2HE/5CKHj+3m8LHdzJw7HoDMmTOxefty/jxzgGMn9zN63KAU9YPvBU8uXT7CoEG9ku2HdesXcenyEY4c3U2BAvp+qFOnOj7H93H6tBs+x/dRq1YVo223//4bZ84cfGcMSWWs9DVWm9dhtXUjWdt/b1SeuXFD8u7bRZ41v5FnzW9kbtYkoSx7rx7kWb+aPOtXk6mOY6raTaqqYyV2+Wxhz4ltdOnT3qi8XOUybD60mjMPj1KvWe2E523s87H50Gq2eqxlx9GNtO7o/N4xAFSpXZEdxzay8/hmOvVpZ1RetlIZNhxcyYn7XtRpWsuoPGu2LOw/u4Mhk/v/qzjeZNSUOdRs+h3O7X/6KPv/R8laDkzxXMC0I4to0usbo/IG3ZyY5D6PCQfmMGTTWCyTvF+uurOd8a6zGO86i76//ZqqdmvVrcbhU3vxPutC737djMozZDBn8aqZeJ91YY/7Juzz2wLg3LopB47+nvATEHGR4iW/JGu2LAbPX7jlzdgpQ98aQ806VXE/uROv03vo2bdzsjEsWDkNr9N7+OPgOuzy2wBgbm7G9AXjcPXexv4jW6lUrXzCNoNG/IzPRVcuBfikqj+SU6NOFdxO/IH76V306NvJqLxClbLs8tyIX/BJGjrV/dftfUzx/8GPSD9Mdaw/uWUtiqIUAvarqloyLePQaDT0nNSLse1GERkcyax9czntfooHtx4k1PG/eoeBTQcQ8+Iljdo3pvOILsz8eQYAu5bvJGPmjDRs1+hfxTBy2hB+bPMLoUFhbDu4lsMHj3Hnpn9CneDAUEb2m0jnXsaTgtVLNpI5cya+7Wj8QZnaOLpN7MnEdmN5FBLJ1L2zOOtxmocGfeHPsGYDiXkRQ4P2jegwvDNz+8zk5fOXLBwwj5CAYHLlzc10l9lc8Pbl2ZOnKWp3/vxJNG3ajocPgzl+fB/797tz/fqthDqdO7clOvoxJUrU5NtvnZg0aTgdOvzMixcvGT9+NsWLf0mJEl8Y7PfXX38hPDyCUqVqoygKuXPnfGsM02aP4VvnLgQFhnLo8A7cXL24eeNOQp12Hb8lOvoJFcs2wLlVE8aMH8yPXQYAEOB/H8caxpO/xQtXc/zYKczNzdm5dy1169XE08P7jTHMmTsBp2btCQwM4dixvbi4uHP9+u2EOp06tyE6+jGlS9WmdWsnJk76lU4d+xAZGUXr1t0ICQ6jePEv2LN3PUWLVE7YrnmLhjz9+9k7RsIoICwG9uPRgCHowsLJs3IZL33+JC7gnkG1F16HeTJ3gcFzGatUxvyLokR06Y5inoHcC+fy8uQp1Gepi0Gj0fDr1EH0atOf0OAwNrmt5OghH+7eDEioExwYyth+k+nY2/DkITw0kk7NehIbE0vmLJnZcXQDRw/6EB4akbp+eBXH0CkD6PPdQEKDw1nnugLvgz7430rsi5DAUMb3n0L7n75Ldh8/De2O76mLqW47pZyb1OeHVs0ZMXHWR2tD0WjoMOFHZrWfwKOQSMbsnc4F9zME3X6YUOe+nz8TnIYS8yIGx/YNaTO8A0v7zAEg5kUMY5sMTnW7Go2GSTNG0q5lD4KDQtjnuRV3t8PcunE3oU7b9i15HP2EmhWa4tSyEcPHDeDnbkPYvcOF3TtcAPiyWFFWbpyP35UbADSu9W3C9i5e2ziwz/OtMYybPoxOrXsTEhTKLveNeLod5XaS9+lv2znzOPoJdSq2oNk3DRg2th99u/9K2w4tAWhSsy2WeXKxetsinOu1R1VVPA96s37VNjxP7U51v7we39hpw+jy7c+EBIXyx6H1eLp5G36OPAzh11/G0a13h3/VlhAiZSRz/p6KOnxBSEAwofdDiYuN49g+byo2qGxQ5/KJy8S8eAnADd8bWNrkSSi7dPwiz/9+/q9iKFWuOA/8H/LwXhCxsXG47nbHsVFNgzpBD4K56XcbNd74HPDUsbOpn3glo4hDUUICQgh7oO+L4/uOUaF+RYM6V09cJuZFDAA3fW+Q28YSgGD/IEICggGICnvE44jHWOS2SFG7X3/twJ07Afj73yc2Npbff9+Hk1MDgzpOTg3YuHEHADt3uuLoWA2AZ8+e8+efZ3j58oXRfjt1asOMGYsBUFWVyMioN8ZQrnxpAu7e417AQ2JjY9m904XGTQ0zS42b1GHb5l0A7Nt9kBrJZKeTev78BcePnQIgNjaWSxf9sLHL98b6FSo4cPfOPQICHhAbG8uOHfto1sywH5o1bcCmjX8AsGuXK7VrVwXg4sWrhASHAeDnd5NMmTKRIUMGALJmzcIvv3Rn+vSFb433debFvkL3MAhdUDDExfHcw4uM1aulaFuzQgWJuXAJdPGoL14Qd+cuGStXfPeGrylZthgP/B8SeD+IuNg4Du72pHbDGgZ1gh+EcOvaHeLjDdcsxsXGERsTC0CGjOYoyvv/C7oSZYvxICCQwPvBxMXG4b7Hk1oNDb8dCn4Ywu1rd1HjjddOflXqC3Jb5eLU0TPvHcO7VHAoRQ6L7B9t/wCfORQh7F4I4Q9C0cXGcXqfD2UbfG1Q5/qJKwnvEXd8b5LL2vJft+tQvhQB/ve5f+8hsbFx7Nt5gAaNDb+NadDEkR1b9wLgusedajUrGe2nRavG7N15wOj5wp8XxNIqN6dPnHtjDGXKleSe/0Me3AskNjaO/bsOUq9xbYM69RrXZufW/QAc2OtJlRr6viny5WecOKYf+8iIKJ48/otSDsUBuHDu8nudML6udLkS3At4kBCfy+5D1Gts+A1O4INgbvjdJl5N/3lj9T/4EemHqY71pzo51yqK8puiKFcVRTmkKEpmRVGOKIpSAUBRlDyKogS8+r2zoii7FUVxVxQlQFGUPoqiDFQUxVdRlJOKouR+nwAsrS2JCApPeBwZHIFlvjd/mNRv24Bzh9/8Bv4+8lnnJTgoNOFxaFAY+ayt3rLFx5Hb2pLI4MQPiUfBkVi+5YO1btv6+B4x7osiZYpilsGM0HshKWrX1taahw+DEh4HBgZja5vvjXV0Oh1PnvyFpWWuN+4zRw79icHYsYM5ccKFTZuWkjdvnjfWt7HNR2BgYrxBgaHY2BjGYG2Tj8DAYIMYcufWx1CgoD1ex3axx2UDlauU53UWObLToLEjx46eeGMMtrb5eBho2A82Rv2QWOdN/eDs3JiLF64QE6OfII0ZM4gFC1by7JnxCczbaK3yoAsLS3gcHx6O1sq4DzPVqkmetSvJOXEcmrz64zb29h0yVqoIGTOi5LAgQzkHtHlTf0zntbEiNCgxhtDgMKxsUr6ffLZ52ea1jgPndrF28ab3ngRZWed5LY7wFMehKAr9x/7M/AlL3qvt9CRXvtw8Ckr6HvGIXG95v6zZpi6Xj5xPeGyeMQNj9k5n1K6plG2Q8pM1a5u8BCV5fQYHhZLP6PWZWEen0/HXk7/J9dq3ZU7fNGJPMpPz5i0bs2+X21tjyGdjRXBQYgwhQWHks8n7WgxWBCcTw/WrN6nbqCZarRb7AraULFPsrSfq7yOfTV5CAhM/R5KLTwjx3/pUJ+dFgcWqqpYAogHjRc6GSgItga+BycAzVVXLAicA44XaH1itb2pTpHQRdi3/42M3le7V+KYWn5Uqwt7luwyez5k3F7/MHcCSwQtQ1bQ7XzUz02Jvb8vJk+eoUqUpp06dY9q0UR+lrdCQMMqWcKROjW8YPXIay1bOJlv2rAnlWq2WFavmsHLZBu4FPHzLnv69YsWKMnHSr/zyywgASpcuTuHPCrBvb+rWmqfUi+MnCPv2eyI6dyfm7DlyjtSvI445c5aXJ0+SZ9kico0bTewVP1Tdf5+tCw0Ko22dTrSo0hanNo3JnefNJ3QfS+vO33Dc6yRhweHvrmxCqjjXpFDpzzmwYk/Cc4Or/cSE5sNY3nceP4zpglWBDztBfRuH8qV4/vwFN6/dNipr3rIRe/8wnrR/KL9v2kNIcBi7PTYyavJgzp++SHwavB4+JbLm/P+LqY71pzo591dV9cKr388Bhd5R/7Cqqn+pqhoOPAb2vXr+cnLbKorSQ1GUs4qinA34+36yO4wMiSSPbWIGzNImD5GhkUb1ylQvw7d92jK520TiYuLeEWbqhIaEGWRI89nmJTTkv/8gfxQSabBkJ7eNJZEhxn1RqloZWvb5lundJxv0ReZsmRm+ZjRbZm3klu/NFLcbFBSCvb1twmM7OxuCknyT8HodrVaLhUX2ty5TiYyM4unTZ+zerf/A3bnTBQeHN1/eEBwUip2ddcJjW7t8BAcbxhASHIqdnY1BDI8eRRETE0tUVDQAly5cJcD/Pp8XKZyw3Zz5E7l7J4DlS9e9ox9Csbcz7Idgo35IrPN6P9jaWbNl63J+7D4Qf3/98V6xUjnKlSuN3zUfPDx/p0jRwhxw2/rWOP6hC49Amzcx86axskIXbph5Vp88gVj90pFn+1ww/zJx3f/f6zcR0eVHHg0YAoqC7kHqT0zCgsPJZ5sYQz6bvIS/xyQ3PDSC29fvUq5ymVRvCxAeEvFaHFYpjqN0+RK06dKSPae20W9Mb5q0bkifET3fK460FhX6iNy2Sd8jchOVzPtl8WqladanFfO7TzV4j4gOfQRA+INQrp+8SsEShY22TU5IcBi2SV6fNrb5CDV6fSbW0Wq1ZLfIRtSj6ITy5i0bs+cPV6N9FyvxBVqtlssX/d4aQ2hwODa2iTFY2+YlNDjMoE5IcDg2ycSg0+mYPGo2To7f81OHgVjkyI7/HcNrN/6t0OAwrJNk45OLTwjx3/pUJ+cvk/yuQ39haxyJf0+mt9SPT/I4nmQuilVVdYWqqhVUVa1QKFuBZAO4dfEmNoVtyZs/H2bmZtRwqslp91MGdQqX+IxeU/swudtEHkc+TunflmJXfK9R4LP82BWwwdzcjCbO9Tl8MPmLBj+m2xdvYVPYhrz582JmbkY1pxqcdT9tUKdQicL0mNqL6d0m8yRJX5iZmzFkxXCO/nGYk65/pqrds2cvUqRIYQoVyo+5uTnffuvE/v3uBnX273enfXv9nXRatmzCkSPvbsPFxSPhriWOjtW4du3WG+v6nr9M4c8LUaCgPebm5ji3bIqbq5dBHTdXL9r+oL/o1sm5IT7eJwGwtMyFRqM/ZAsWsuezzwtxL0B/Ee3wUf2xyJGNkb9OeWe8585d5PMihSj4KobWrZ1wcTHsBxdXd9q113/B9M03TTh6VN8POXJYsPOPNYwZM52TJxOXGq38bSNFPq9E8WLVqVf3W27f8qdxo+QvWHxd7PXraPPbobWxBjMzMterw8vjhv2usUxcTZaxelXi7r06CdZoUCz0S4vMPv8Ms88/4+WZ1K+3vnrhOgU+s8e2gA1m5mY0dK7LkUMpu6tFXhsrMmbSr7vPniM7ZSuWJuB28ifp7+J34ToFCttjm18fR/0WdfE+dDxF247uMxGnr7+lRaW2zJ+wBNcdB1k0Zfl7xZHW/C/eJm8hG/LY50VrbkZFp+r4up81qFOgRGE6TenJgu7T+CvyScLzWSyyYpZB/zadLVd2ipb/iqBbKTthu3j+CoU/K0j+AnaYm5vh1LIx7m5HDOq4HzhC6++aA9CkRX3+PJb43qUoCs1aNGDfTuOlKy1aNUl2HfrrLvlepdBn+bEvYIu5uRnNvmmIp9tRgzqebkdp+V0zABo3r5uwzjxT5kxkzqL/OKtWqxJxOp3BhaQfwmVfPwoVToyvqXMDPN3++8+RDyVe+fg/Iv0w1bH+5O7W8hYBQHngNGB8X8MPLF4Xz4rRyxi3YQIarQbPbe48uHmfHwa24/blW5x2P02XkV3JnCUTQ5fqv7KPCApncreJAEzZMR37z+3JlDUTq06tZdGQBfh6n39bk0Z0Oh2Th89ixdYFaLQadm3Zx50b/vQZ2oOrF69x+OAxSjoUY/6aGVjkzE7tBjX4eciPtKilvzvF+j3LKVykIFmyZsbTdx9jBkzi+JFT72g1+b5YNWYFI9ePQ6PVcHi7Jw9vPaDtwB+4c+k2Zz1O02FEFzJlycygJUNf9UUE07tPpkqzahSrWILsObPj2Fp/q8fFgxcQ4PfuDyCdTkf//qPZt28DWq2Wdeu2ce3aTcaMGci5c5dxcXFn7dptrF49j6tXvXn0KJqOHfskbH/jxnGyZ89OhgzmODk1pFmz9ly/fotRo6ayevU8Zs4cS0TEI3r0ePOtDHU6HcMHT2D7zpVotFq2bPyDG9dvM2xEXy74XuHgAS82bdjBkhUzOe17iKiox/Toqr9TS5VqXzNsRF/iYuOIV+MZPGAs0VGPsbHNx8Ahvbh54w5e3vrlP6t+28jG9TveGMOggWPYs3c9Wq2W9eu3c+3aLUaNHsD585dxdfFg3drtrFw1h0uXjxAVFU2njr8A0POnjnz2eUGGD+/H8OH9AGju1IHwcOOsZorp4nkyZwG558wAjYbnLgeI8w8gW7cuxF6/wcvjf5K1dUv9RaI6HfFPnhA9eZp+WzMtlovnA6A+e0b0hMnwHl/j63Q6po+Yy5Itc9BotezZsp+7N/zpNbQ7fheuc/SQD8UdvmLO6qlY5MxOzfrV+GlId1rXak/hooUYOK4PqCooCuuXbuH29bvvbvQNccwYOY8Fm2eh1WrYu9WVuzcD6DmkK9cu3sD70HGKl/mKGasmYZEzO9XrV6Xn4K60dTS+nd3HMmTsNM74XiI6+gl1ndvTu1sHWjk1/KBtxOvi2TRmJYPWj0aj1XBsuxdBtx7gPOA7Ai7f5oLHWdoM70jGLJnovUT/eosMjGDBj9OwLWJPpyk9iVdVNIqCy9JdBnd5eRudTsfooVPYsGMZWq2WbZt2cfP6HQYO/5nLvldxdzvCto07mbdsKt5nXYiOekyf7om3RaxUtTxBQSHcv2fcXjPnhnRqa3z71uRiGP/rdNb+vhiNRsOOzXu5deMu/X/9icsX/PB082b7pt3MXjIRr9N7iI5+TL8fhwNgmScXa39fTHy8SmhwGIN6jU7Y77Cx/XBq1YjMWTLhc+kA2zfuZsGM1J+86XQ6JgyfyartC9FqtOzYspfbN+7Sd1hPrly4htdBb0o5FGfxuplY5LDAsUEN+g7tQdMabVPd1n/BVP8pjUieqY63kpbre9/H67dSVBRlMJAN2ApsR59JdwHaq6paSFGUzkAFVVX7vKof8OpxxOtlyWlRoFmad9Dtl2m/5rR4Jut3V/rI9oX6pnUIZM+YOa1DAOBZ7Mt3V/rIbpdL2dKCj6nJ7Zi0DgEzjTatQ+DPS2vTOgQAelQYkqbtez5J+bK4j8lcY57WIaBV0v6L8ZvhZ//z3OOoQj989M/sSQGbJX+eTnzs8U6rsf7kMueqqgagv8Dzn8dJb85bOsnvo16VrwXWJqlfKMnvBmVCCCGE+HSleTZN/KdMdbzT/tRaCCGEEEIIAXyCmXMhhBBCiOTIrQ7/v5jqeEvmXAghhBBCiHRCMudCCCGEMAmmevcOkTxTHW/JnAshhBBCCJFOSOZcCCGEECbBNPOo4k1Mdbwlcy6EEEIIIUQ6IZlzIYQQQpgEU717h0ieqY63ZM6FEEIIIYRIJyRzLoQQQgiTYKp37xDJM9Xxlsy5EEIIIYQQ6YRkzoUQQghhEkwzjyrexFTHWybn75BFSfsuuhUdmNYh8EW+vGkdArp4XVqHwJOXz9I6BAAUlLQOgeIXHqR1CJTMUTCtQyCzxjytQ0g3VpydmdYhUN+hR1qHQB5tlrQOgUzy8S7EJ0tevUII8YnrUWFIWoeQLibmQpjq3TtE8kx1vGXNuRBCCCGEEOmEZM6FEEIIYRJUk12FLJJjquMtmXMhhBBCCCHSCcmcCyGEEMIkmOoaZJE8Ux1vyZwLIYQQQgiRTkjmXAghhBAmwVT/Y6RInqmOt0zOhRBCCGESTHOqJt7EVMdblrUIIYQQQgiRTkjmXAghhBAmwVSXOYjkmep4S+ZcCCGEEEKIdEIy50IIIYQwCaZ6az2RPFMdb8mc/wtlapVlttdi5h5dSvNeLY3Km3RvzkyPhUx3m8fIzRPIY2cFQB47K6a4zGaq61xmui+gXruGqWq3QYPaXLl8FD8/H4YM/tmoPEOGDGzauAQ/Px98ju2jYEF7AHLnzsmhg9t5FHmDefMmJdTPnDkTu3ev4/KlI1zw9WTypOGpigegbK1yLDq8lCXey2nZu7VRefPuLVjguZi5BxcwfsskrF71BcDo9ePYeHkLI9eMSVFbDRrU5soVb675+TBkyBv+/k1Luebnw3GfxL8fYOjQPlzz8+HKFW/q16+V8HyOHIMSi6gAACAASURBVBZs3bqCy5ePcunSESpXKg/AuHFDOH/OnbNnDuHqshkbm3zG8dSvzeVLR/C7eozBg3snG8/GDUvwu3qMY957Dcbj4MFtREZcZ97cicn+rX/sWM35cx7v7JP69Wtx6dJhrl71fmMMGzYs5upVb7y997wWw1YiIq4xd+4Eg21at3bizJmDnD/vwaRUHhN169Xk9PlDnLvoSf+BPZONZ9W6+Zy76In74R3kL2BnUG5vb8ODkIv06dstVe0mVbH212zyXssWn/W0+/k7o/IylUqxym0Zh+8donbTmgZleW3zMnvzdDYcWc2Gw6uxtjce95SqULs8q46sZM2x1bTt3caovFSlkix2XcQBfxdqNKluUNZ9RDdWeCxnpdcKeo/v9d4xlKzlwBTPBUw7sogmvb4xKm/QzYlJ7vOYcGAOQzaNxTLJ63PVne2Md53FeNdZ9P3t1/eO4W1GTZlDzabf4dz+p4+y/39UrP0164+uYZPPOn5I5pgoXakUKw4sxTPgILWa1kh43qFqGVYeXJbwc+i2K9UbVn2vGBxqlWO+1xIWHl2Oc69WRuXNurdgrsciZrstYOzmiQmfG4WKF2byrhnMddeXVW1W3WjblCpdqywzvRYy++hinJI5Hhp3d2K6x3ymuM1h+OZxCceDpZ0Vk1xmMdl1NtPc51GnXYP3jkEI8WYffHKuKIqroig5U1G/kKIoVz50HCls++/33lajocvEnkzvNIHB9X6havMa2BW1N6gTcPUuI5sNYlij/pxy/ZMfhncCICosijHfDGN4kwGMajGU5r1akStvrhS1q9FomD9/Ek7NO1CmjCNt27ag2FdFDep06fIdUdGPKV68OgsW/MaUySMAePHiJePGz2TYr8YTwblzl1OqdG2+rtiIKlUq0LChY4r7QqPR0GPST0zsNI6+dX+mevOa2BfNb1Dn7tW7DG46kAEN+/Kny3E6juiSULZ7+U7mDZiT4rYWzJ+Mk1N7Spdx5Lu2zhQrZvj3d+3yPdFRjylWvDrzF/zGlCkjAShWrCht27SgjEMdmjVrx8IFU9Bo9C+BuXMmcOjgYUqVqkX58vW5dv0WALNnL6Vc+fpU+LoBrq4ejBzRzyie+fMn0bxFR8o41KFtmxZ89fp4dP6O6OhoipeowYKFK5k8KXE8xo+fxa+/TiI5LVo04u+nT1PUJ/PnT6JFi044ONSlTZvmRjF07tyW6OjHlChRk4ULVyZMtvUxzObXXycb1M+dOydTp46gcePvKVeuHtbWVjg6VntnLP/EM3POOL5t2Y3KFRrR6ttmfPlVEYM6HTp9y+Pox5QvU5eli9cwbuJQg/JJ00bi4e6dovbeFMPAyX0Z3H44HRy7Us+5DoWKFjSoExoYxpQBM/DY7Wm0/aj5w9iydDsdanelR9PeREVEv3ccfSb9zMiOo/ixTg9qt6hNgaIFDOqEBYYza+BsvHYfNni+ePlilKhQnJ8a9KJHvZ/4oswXlK5cOtUxKBoNHSb8yNzOkxlZvz+VmlfHtojhe9V9P38mOA1lTOOBnD1wkjbDOySUxbyIYWyTwYxtMpgFP05Ldfsp4dykPsvmJP86+FA0Gg39Jv3CsA4j6OTYjTotHCloNBZhTBs4A4/dXgbPX/jzIt0b/kT3hj8xoO0QXrx4wZmj594rhu4TezK503gG1Ev+vdL/6l2GNRv4P/buOy6K433g+GfuwIKIVKkqKMauGHs09q5YotHEaIzRmGaKPXZjjJqmaWosiSa2WKKxF0TsvWFHUEDKgXQUQeBuf3/cCZxg5FCEH9955+Urt7vP7jy3s3c7Nzu7MLbrp5zYdZwhk94B4GHqQ34ZvYDRnUYx++2ZDJsxAgurcibnIFQqhn71Ht8Onc2Ejp/RvNeruOQ6dwUzred4Jncdw+ldJ3hz0tsAJN5NYGbfL5jSfSwzen+B94evYZ3Pc9eLoryA/6Tio6TW9XNvnCuK0l1RlIKdyf4f8fSqTlSIhrth0WgzMjmx/SiNOzUzirl24grpaekABF0IwNbZDgBtRiaZ6ZkAmJcyR6hEvstt0sSLW7dCCA6+Q0ZGBhs2bMXb27j3wtu7M6tWbQTgn807addO38Py4EEqx4+fIS3toVF8amoahw4dByAjI4MLF6/g6uqc75yqe1VHE6Ih+k40mRmZHN1+mKadjffFlROXSTeUe/NCAHaGfQFw+dglUu+n5quspk0aGr3/9Ru24u1tfOXB6P3/s5P2hvfv7d2F9Ru2kp6eTkhIGLduhdC0SUOsrMrTqlUz/lixLmsfJCUlA3DvXvbvN4tyFiiPfVZz1cfGbXnXx+pNAGzevDOrkZtVHw+N6wOgXDkLPvvsPebO/fmp++TxHDZu3J5nDquzctiVK4eHD9OM4j08KhMUFEJsbDwABw4cpU+fbk/NBaBR4wbcvh1KaEgYGRkZbN60k+49OhrFdOvRkXVrtgCwdcse2rRtkbWse8+O3AkJ48b1wHyVl5daDWsSERKB5o6GzIxMfLf65erpjAqP5tb12yg640p1r14FtZmas0f0ja/UB2k8TMtdR/lRw6sGkSEaou5EkZmRyaFth3ilcwujmOjwaIJvBKM8dnApCpQqXQqzUmaYlzLHzFxNQmyCyTlU9fLkbmgUMYbvqtPbj9KwcxOjmBs5vqtuXbiJjZNdXpsqNI296lHBqnyhllHTqwYRIZFZx8SBrQdp2dn4B2dUeDS3rwej6J58sbxNj9ac8jtToGMi53kjMyOTY9uP0OSx88bVE5ez6iLwQgB2zvYAaIIjiQrRAJBwN56k2CSsbK1MzqGalyfRIZqs4+Hk9qM06tTUKOa60bnr5hPOXWYmnbskSco/kxvnQojxQohPDa8XCCEOGF63F0KsEUKECCHsDT3i14UQy4QQV4UQ+4QQZQ2xjYQQ/kIIf+DjHNuuI4Q4LYS4KIS4JISobtjODcO2rwshNgkhLHJs55AQ4pwQYq8Qwtkwv5oQYo9h/hEhRE3DfA8hxAkhxGUhxDN109g42RKnic2ajtPEYeNk+8T4tgM74n/wfNa0rbM93+z5kV9PLmfbb5tJuJu/k66rizPhYZqs6YiIKFwea0i7ujgRHq6P0Wq1JCUnY2eXv96NChWs6NGjI35+R/MVD2DrZEdspPG+sHN88sm948BOnPczvdcJwMXVifDwyKzpiAgNri5OuWLCDDFarZakJP371+8X43VdXJ3w8KhMbGwcvy9fwJnTe1ny23dYWJTNips1ayK3b53hzTf78uWs743Lcsku64n55ChXq9WSnHzvqfUxc8Z4fvxxGampT//R4pLX+3JxfGJMfnK4dSuU6tWrUqWKG2q1Gm/vzri5uTw1FwBnF0ciwrOP0ciIKJxz5ZMdo9VqSU66j62djf5Hyej3+WbuL/kq60kcnOy5GxmTNR2jicHeyT5f61aq6sb95BRmL5vJ73t/46OpI7OusJjK3smOGKM8YrHLZ8P3+vnrXDzhz99n1/L3ubWcPXSOsKAwk3OwcbQlPsfnM14Tj81/fD5bD+jA5RzfVealSzF92zdM3TKXhp2bPnG94s7B2Z4Yzd2s6ZioGBycTf8R0r5XWw481rOeX7ZOdsQanTdisf2P46H9wE5cOJj7u9KzQXXMSpkRHRplcg42TnbEa+KypuOfcu5qM7DDY+cuO+bsmc9PJ5ex47ctJObz3PWi6F7AP6n4KKl1XZAzzhHg0WC8xoClEMLcMO/x69DVgYWKotQBEoFHA+xWAJ8oitLgsfgPgJ8URfEybDvcML8GsEhRlFpAMvCRocxfgP6KojQC/gAeXZtfath+I2AcsMgw/ydgsaIo9YDs1sNjhBAjhRBnhRBng+6HPHWHPE2rvm2oWs+T7Uu2ZM2L18QysevnjG79Aa37taOCfYVnLudZqdVqVq1ayMKFfxAcfKdQymjTty3V6nvy75LNhbL9gjBTq2nYsB5LlvxFk6ZdSEl5wIQJo7KWT5/+DVWrNWHdui18+OE7hZ5P/fq1qVq1Ctu27Sn0sp4kMTGJTz+dwqpVC/H13URoaDharbbQy504+VMWL1xBSsqDQi/rSdRmauo3rcvCr5YwsvtHOFd2ptsA0+4LeR5c3J2p7FmZQU0H82aTt/B6xYu6TesUapkt+rTGvX41di/dmjVvXMsPmNVrIks+/ZFB04fhULng4+//v7OtaEvVmh6cPnS20Mt6tW9bqtXzZOtj35XWFW34ZMFoFo77OdfVluetZd/WVK3nyc4l/2bNi9fEMbnrGMa2/ohX+7XDqhicuySppClI4/wc0EgIYQU8BE6gb0i/ir7hnlOwoigXc6znbhiPbq0oyqOG/Koc8SeAyUKIiUAVRVEedRuGKYpyzPB6NdAKfYO9LuAjhLgITAXchBCWwCvARsP8JcCjruWWwLo8yjWiKMpSRVEaK4rS2NPSPc+YhKj4rMuNAHbOdiRExeeKq9uyPn1G9ef7EXOyLgcabeduAuE371Cjae0npWMkIlKDW6XsnnJXVyciIzSPxUTh5qaPUavVVLCyIi7u6b0bixd9Q1BQML/88nu+cnkkPioOexfjfREXHZcrrn6rBvQfNYC5w2fnuS/yIzIiyqgH19XVmYjIqFwxlQwxarWaChX071+/X4zXjYyIIjxCQ3i4htNnLgD6oUANverlKnvdus307dPduKzI7LKemE+OctVqNVZW5f+zPpo3a8TLL9cnIOA4B3w3U726B/v2bXjyPsnrfUVGP1MOALt27ad16960bduXwMDbBAYG/2f8I5rIaFzdso9RF1cnNLnyyY5Rq9VYVbAkPi6Bxk0a8OVXE/C/epAPP3qHMeM+5L33h2CqmKhYKrpk39To4OxAbFTsf6yR7a4mhqCrt9Dc0aDV6ji69xgv1av+9BXzEBsVh4NRHvbEReX+bOSlZZeW3Lhwg7QHaaQ9SOOM3xlqvVzL5BwSouOxzfH5tHW2JSGPz2ftlvXpOaofP42Ya/T5TIzWf6/FhEVz4+RVqtTxMDmH4iBGE4uDc8WsaQcnB2I0+auLR9p5t+HInmNoMwv2QzU+Kg57o/OGPfF5HA/1Wjag36jXmTfC+LuyrGVZJq+YzrrvVxN4IaBAOSRExWUNUwF9T3he5646LevTa1R/5j92PDySaOK560WRY87/t5TUuja5ca4oSgYQDLwDHEffIG8HeALXHwvPOShPy1Me3agoylqgF5AK7BJCtH+06PFQQABXFUXxMvyrpyhKZ8N7Sswx38vQ484TtlUgt/wDcfJwxqFSRdTmZrTwbsU5n9NGMe51PBgx9yO+Hz6H5LikrPm2TnaYly4FQDmrctRoXAvNrUjy4+xZfzw9PXB3r4S5uTkDBvRmxw4fo5gdO3wYMuR1APq91oODB4/ltSkjX84cT4UKVowdOyNfeeQU6B+Is4cLFSs5YmZuRivv1px5bF941KnKh3M/Zs7wr0jKsS9MdebsRaP3P3BAb3bs2GcUs2PHvuz3368Hfob3v2PHPgYO6E2pUqVwd6+Ep6cHp89cIDo6hvDwSF56qRoA7du34vr1mwB4emY3RHp5dyEgIMioLH19uGfXx+u98q6Pwfon2LyWj/pYumwVHlUbU6PGK7Tv8BqBgcF07pz7KR/GOWTvk9df984zh8FZOXTn4MHj/5kDgIOD/gRubV2BkSOHsGLFuqesoXf+3CWqVatC5SpumJub81r/HuzeZXzT5Z5dvrz5lv4pEb37duXwoZMAdO/8Jg3qtKVBnbYsXrSS+d8vZtmSJ/6OfqIbF2/g5uGKcyUnzMzN6NC7HUf3Pf0969cNwLKCJda2+h7Bl1s2JORmqMk5AAT4B+Dq7oKT4bPRplcbTviczNe6dyPvUq9ZPVRqlb43v3m9Ag1rCfYPoqK7M/Zu+u+qpt6tuOBj3PNbuY4HQ+e8z88j5nEvLjlrvoVVOcxK6b+2LW3KU71RTSIDw/n/KMA/ADcPV5wMx0T73m057pO/Y+KRDr3b47u1YENaAIIe+65s6f0qZ3xOGcV41KnK+3M/Yt7w2UbnDTNzMyYsncyhf/w4ucu0vHO67R9kdO5q7t2K8z5njGKq1PHg3bkfMH/43CeeuyysyvFS41pobkUUOBdJkvJW0OecH0E/XORd4DIwHzinKIoixH/fIKIoSqIQIlEI0UpRlKPAW4+WCSGqArcVRflZCFEZqA/cBioLIVooinICGAQcBQIAh0fzDcNcXlIU5aoQIlgI8bqiKBuFPqH6iqL4A8eAN9D3vr/FM9BpdaycvoxJf81ApVZzcMN+wgPD6D/mTYIvBXFu/xkGTX6HMhZl+GyR/kkUcZExfD9iDq6ebgyeOgxFURBCsGPpVsIC8nfy12q1fP75NHbuWINKreLPleu5dv0mM6aP49x5f3bs8GHFir9ZueInrl07SkJ8IoOHZD9a72bACaysylOqlDm9vLvQo8cgku/dZ9Kkz7hxI5DTp/RDKRYtXpnvxphOq2PZtN+YsepLVGoVvuv3E3bzDm+OeYugy4Gc8TnN0CnDKGNRhvGL9Y9ii4mMYe5w/bD/rzfNw7WaG2XKlWHZqRUsHP8zFw9feOL7/+zzqezcuRa1SsXKP9dz7dpNZswYx7lz+vf/x4q/WbnyZ65fO0pCQiJvDda//2vXbrJx03Yu+fuRqdXy6WdT0Blu/Pp89DT++vMXSpUy53bwHUaMGKPP7etJvPRSNRSdjtA7EXzyyeQ862PH9tWo1WpW/rme69dvMn36WM6fu8SOnT6sWPk3K/74kWtXjxAfn8iQt7Mf/xgQcByr8vr68PbuQo+eb3Hjhmk3Qj7KYfv2VajVav7MymEM585dZudOH1auXM8ff/zI1auHiY9P5O23s4ftBAQco3yOHHr2HMyNG4H88MNM6tXT94rNmfMjQUH56znXarVMGPsl//y7ArVazZpVG7lxPZBJUz/j4vkr7N7ly6o/N/Db8h845+9LQkIiw9/53KT3/PQcdCyY+gs/rP0GlUrFzvW7CbkZyvBx73DDP4BjPieo2aAGX//+JeUrWPJKpxa8O3Yob7cfjk6nY+GsJfy4/nsQcPNyINvX7ixQHjqtjl+nLWLO6q9RqVXsXb+P0JuhvD12CDcvBXLS5yQvNXiJGcumUb5CeZp3bMaQMUMY2fF9juw8itcrXiz1+Q1FUTh76Bwn9596eqF55LBm+nLG/jUNlVrFkQ0HiAwMo8/oNwi5HMTF/WcZMOltSluU4aNFYwGIi4jl5/fm4eLpxtA576NTFFRCsHPxFiKDnn/jfPyMeZy5cInExGQ69BnMR8OH0M/7+Q4l0mp1/DTtF75bMw+VSsXu9XsIuRnKsHFDCfC/yXGfE9RoUIPZy2diWcGSFp1a8M6YoQzrMAIAJzdHHFwc8D9xqcA56LQ6lk9fwtS/ZqJSqzhgOG8MHDOIW5eCOLv/NEMmv0MZi7KMXTQRgNjIGL4Z8TUteraiVtM6WFqXp21/fb/VwnE/EXItf5/LnDn8OX05E/6ajkqt4tAGXyICw+g35g2CL93i/P4zvDn5bcpYlOHTReMAiIuMZf6Iubh4ujFo6lAUBYSAXUu3Eh5QOEMgC0qOCf/fUlLrWxRkzJoQogOwB/3wlBQhxE3gN0VR5gshQjCMRQd2KIpS17DOOMBSUZSZQohHY8QVYB/QXVGUukKIL4AhQAYQhb4hbmUo6yzQCLgGDFEU5YEQwgv4GaiA/ofGj4qiLBNCeACL0Q9nMQf+VhRllmH+WkNuW4HPFUWx/K/3+maVPkV+DeufqMIf3/g0PRwbFnUK7Ig6//SgQlbQGwOfN0HRPyWhrFmpok6BuhWqPD2okJVVmRd1CriqTX+k3vO29Ox3RZ0CAJ28RhZ1CtirLYo6BcoUg78xuDp08wv/ohrq3q/Qz9l/hvxT9F/AElD49V1UdV2gT6+iKL7oG72Ppl/K8drd8DIW/ZjwR/O/z/H6HJDzZtAJhvnzAKMH6RrGtmcqijI4jzwuAq3zmB8MdH3C/JzPMZua1/uTJEmSJOn/H10h3yQrFS8ltb6LRzegJEmSJEmSJEnF4LrXUyiKEkKOHnhJkiRJkqS8lMx+VOlJSmp9y55zSZIkSZIkSSomin3PuSRJkiRJUn7oSmxfqpSXklrfsudckiRJkiRJkooJ2XMuSZIkSVKJIP+C5/+WklrfsnEuSZIkSVKJUFL/KI2Ut5Ja33JYiyRJkiRJkiQVE7LnXJIkSZKkEqGk3iAo5a2k1rfsOZckSZIkSZKkYkL2nEuSJEmSVCKU1BsEpbyV1PqWjfOnSFO0RZ0Cbzk3K+oUOJ+mKeoUsC5rWdQpoBbF42LTPmvPok6BBZQq6hSYVDalqFMoFjpG3yzqFIoNn4tLizoFANY0mF6k5b/W/W6Rli9JUsHJxrkkSZL0zDp5jSzqFIpNw1wqOiX16R1S3kpqfRePbkBJkiRJkiRJkmTPuSRJkiRJJYOilMwxyFLeSmp9y55zSZIkSZIkSSomZONckiRJkqQSQYdS6P/yQwjRVQgRIIQIEkJ8kcfyMUKIa0KIS0IIXyFElee+M/4HlNS6lo1zSZIkSZKk50QIoQYWAt2A2sCbQojaj4VdABorilIf2AR8+2KzlJ6Hwqpr2TiXJEmSJKlE0L2Af/nQFAhSFOW2oijpwN9A75wBiqL4KYrywDB5EnArwNv9n1dS61o2ziVJkiRJkvJJCDFSCHE2x7/HnyPqCoTlmA43zHuS4cDu552n9OyKqq7l01okSZIkSSoRXsRfjFQUZSnwXB6qL4QYDDQG2jyP7f2vKez6Lqq6lo1zSZIkSZKk5ycCqJRj2s0wz4gQoiMwBWijKMrDF5Sb9HwVSl3LxrkkSZIkSSVCfp+wUcjOANWFEB7oG2pvAINyBgghGgJLgK6Kotx98SmWDMWgvgulruWYc0mSJEmSpOdEUZRMYBSwF7gObFAU5aoQYpYQopch7DvAEtgohLgohNhWROlKz6Cw6lr2nEuSJEmSVCIUl78YqSjKLmDXY/Om53jd8YUnVQIVh/oujLqWjfNn0LDNywyf+R4qtYr9f/uwedEmo+W9RvSm45ud0WZqSY5P5tdxPxETEQPAtL9mUqNhDa6fvc7Xw2YVOIe6bbwYNP1dVGoVh9f7smvxFqPlnYd70/qNDugyddyLT+KPCYuIM+Tw+60NhAfcASAuIpaf35tX4DxeadeMiV99jkqtZsua7fzx6yqj5S8392LCrM+oXrsaEz+Ywf4dfgDUqFOdKd+Mx7K8BVqtjuU//cnerb75Lrd9h1f5+pspqNUqVv+1kZ8XLDNaXqqUOQuXfEsDrzrExyfy3rDRhN2JoFJlV46d3sWtwGAAzp71Z/zoGUbrrlq3mCrubrRu4Z3vfNp1aMVX8yajVqtY89cmfv1xea58fvntG+p71SYhPpH33x1D2J1IAGrVeYnvFnxJ+fKW6HQ6urZ/nYcP0/Nd9iOWbV7Gdfp7oFYRv96HmMXGx6VN/w44TxpGRnQcAHF/7iR+/T7K1PbAdfZHqC0tULRa7i7cQNKOoyaXD8XjuLRo1YiKkz8ElYqkTXtIWL7BaLlVn07Yjx9OpmE/JK7dTvKmPVnLVeUsqLJjCSm+J7g7e1GBcijKPNp0aMnMORNRq9X8vWozi3763Wh5qVLmLFg8h3oNapOQkMjH744nPCySPv178P4n72TF1arzEt3bDiA0JIxNO//Mmu/s4siWjTv4cnL+Hs/ctG0TRn35EWq1ip3rdrN24d9Gy+s3q8eomR9RrVZVZn08m0M7jwDg9UoDRs34MCuucrXKzPp4Nkf3Hs/3vsiPqXPmc/jYaWxtrPl39W/PddtP4tq2Pk1nDUGoVASuO8jlhdvzjKvSvQntln3G9m7TiLsU/Mzlqus0pswbHyJUKtKP7CF9z/pcMWaNW1PaewigoAu7TeryeahrNKDMwA+yYlROlUhdOofMi8+3LiTpf93/bONcCLES2KEoyqanxeZFpVIxcvYHzHxrGnGaOL7dPp/TPqcID8x+os7tq7cZ12MM6WkP6TK4G29PHsYPH+tPZP8u2UzpsqXp8la3gr8HlYohs97j+8GziI+KY/q2b7joc4bIoPCsmDvXgpnlPYH0tHTaDe7CgElDWDxqPgDpaenM6D6uwOU/olKpmDx3HO8P+IxozV3W7vmdg/uOcPtmSFZMVEQU0z6bzdCPjIZikZaaxtRPZnEnOBwHR3vW7fuD436nuJd8P1/lzvthOq/3GUZkRDT7/DaxZ9cBbgbcyop56+3XSUxMpmnDzvTp153pX47jvWGjAQgJvkO7V/vkue0e3p1ISUkxeT/M/X4aA/oMRxMZzR6/Dezb7WeUz6Ah/UlMTKLFy13p/Vp3ps4cx/vvjkGtVrNw6beMen8i164EYGNjTUZGpknlG5LAddYHBA+eRkZUHJ7b5pPsc4qHQWFGYYk7jhA5Y4nRPF3qQ8LGzCc9RINZRVuq71jAvcMX0CWbth+KxXGpUlFx2sdEDJ9MRnQsVTb8TIrfSdJv3TEKu7/78BMbvHafvk3q2Sv/L/NQqVTM/nYKb702Ek1kFNt9/8Znjx+BAbezYgYOfo2kxGRaN+6B92tdmTRzNB8PH8+/m3by76adANSoVZ3lq3/i2pUAALq1eT1r/Z0H1rN7e/5+SKtUKj6b/QnjBk0kRhPDbzsXcmzfcUIDs/fD3Yi7zBvzLQPfH2C07sXj/ozoom8Qlrcuz5qjf3Lm0DmT9kd+9OneiUH9ejH5q++f+7bzIlSCZl8PZd+b83igiafnrlnc2XeOpMBIozizcmWoNbwLMeeDnlfBlB00ipQFX6AkxFJuyi9k+p9Ap8muC1VFF0p3e4OUb0bDg/uI8tYAaAP8SZll+KFkUZ7yc1aQee3518WzyOezqaUSoqTWtxxzXkDVvaqjCdEQfSeazIxMjm4/TNPOzYxirpy4THqa/qbcmxcCsHO2y1p2M60ZMwAAIABJREFU+dglUu+nPlMOVb08uRsaRUxYNNqMTE5vP0rDzk2MYm6cuEJ6mr739daFm9g42eW1qWdSt2FtwoLDibgTSWZGJnv+3U/bLq8axUSGRRF4/RY6nfFHKfR2GHeC9Y22mOhY4mMTsLGzzle5LzeqT8jtUEJDwsnIyODfzTvp1qODUUy37u1Zv1bfa7v937282qbFU7dbrpwFH348jPnfLc5XHo80bFSf4Nt3uBNqyOefXXTp3t4opkv39mxYtxWAHVv30qpNcwDatm/JtSsBWY2ghITEXPsqPyy8qpMeqiE9LBolI5PE7Yexeuy4fJL04EjSQzQAZN6NJzMuCTNbK5NzKA7HZZn6Nci4oyEjPAoyMknedYhy7Z9e94+Uru2J2t6aB8fO/7/Mw6tRPUKCHx2LmWzfvJvO3doZxXTu3o5Nf+uHPu7a6kPL1rmPk979urFtc+5H8npUq4Kdgy2nT+SvYVbTqwYRIZFo7mjIzMjkwNaDtOzc0igmKjya29eDUf7juG/TozWn/M7wMO35P9iisVc9KliVf+7bfRL7htW4FxLN/Tsx6DK0BG89SeUujXLFvTyhP1cW7UCblvFcylV71EAXE4kSGwXaTDLOHMLM6xWjGPNXu5Putw0e6DtJlHuJubZj3uhVMq+chfTi9ZAR5QX8JxUfJbWui03jXAjxthDikhDCXwixSgjhLYQ4JYS4IITYL4RwNMS1MQyov2hYVl4I0VYIsSPHtn4VQrxjeD1dCHFGCHFFCLFUCCGeR762TnbERsZmTcdp4rBzfHIDo+PATpz3e749DDaOtsTnyCFeE4/Nf+TQekAHLh/MPsmbly7F9G3fMHXLXBp2blrgPCo6OxAVGZ01fVcTg6Ozg8nbqduwFubm5oSF5HoKUZ6cXRyJiIjKmo6MiMbZ2dEoxsnZkYgIfYNTq9WSnHwPW1sbACpXcePAkS1s3bmK5i2yT4pfTPmMRb/+QWpqmkn5OztXJDJHPprI3Pk4OzsSmSOfe8n3sLW1pqqnOwqw7p9l7Dv0Dx9/Otyksh8xd7QjI8cxkaGJwzyPY6JCt1eovvtnKi/6AnNn+1zLyzaojjA3Iz00KteypykOx6VZRTsyo2KypjOjY/PcD5adW1Hl38U4/zgFMyfDfhACh4kjif12ea74/y95OOVxLDrm+mxkx+iPxfvY2Br/MPbu25WteTTOe73Wje1b9uSa/yQOzvbEaLIfUhATFYODs+k/yNr3asuBfw+YvF5xZOFkQ0pkfNZ0iiYeCycboxjbuu5YONsS7nvxuZUrrO3RxWcfk0pCDCpr47pQObqhcnTDYuICLCb9hLpO41zbMW/alozTfs8tL0mSshWLYS1CiDrAVOAVRVFihRC2gAI0VxRFEUKMACYAY4FxwMeKohwTQlgCT2tB/aooyixDOauAnkDeA/uy8xkJjATwsqmHu2WVZ3h30KZvW6rV92TqgEnPtJ1n0aJPa9zrV2PewGlZ88a1/IDE6HgcKjkyYd1Mwm+EEnMn+j+2UnjsK9rx9S/Tmfrp7Bdyg0d01F0a1mlHQkIi9b3q8NeahbRq3gN390q4e1Rm2uS5VKr8X3/k6/kyU6tp1vxlurZ7ndTUNDZuXYH/xascPXzyuZeVvP80idsOoaRnYjuoK5V++Jzbg6Zm5+JgQ+X5Ywgb9yMUcl0U5XF5/+BJ7u08iJKRQYUB3XGaO47wYV9g/WZPUg6fJjM69ukbKUF5PM6rUT1SU9O4eT33cIper3Xl8w8mv9B8bCvaUrWmB6cPnX2h5RYZIWg64y2Ojl7y9NjnTa1C5ejKg+/HIWwcKDf+B+7PHAmp+iFuooItKld3Mq8Wv7ooBo/Wk16gklrfxaXnvD2wUVGUWABFUeLRP8h9rxDiMjAeqGOIPQbMF0J8ClgbHmPzX9oZeuAvG8qp85R4FEVZqihKY0VRGj+pYR4fFYe9S3aPo52zHXGGG7pyqt+qAf1HDWDu8NlkphdgDPF/SIiOxzZHDrbOtiTkkUPtlvXpOaofP42Ya5RDYrS+1yYmLJobJ69SpY5HgfK4q4nBySW7V66iswPRmpj/WMNYOUsLfl39Pb/MW8rl81fzvZ4mMhpXV6esaRdXRzQa40ZclCYaV1dnANRqNVZW5YmPTyA9PYOEBP2l2ksXrxISfIdqnh40btoQr4Z1OXfJlx171lLN051/d/yVv3w0d3HJkY+zS+58NJpoXHLkU96qPPHxiURGRnPy+Fni4xNJTU3D1+cw9RvUzve+eCQjOg7zHMeEubNd1o2fj2gT76EYjoP4v/dRtq5n1jKVZVk8Vswg6vtVPLgQYHL5UDyOy8y7cZg5ZV+9MXO0z7UfdIn3UDL0QwWSNu2hdJ3qAJTxqoX1oF547P8ThwkjKN+7A/ZjhpmcQ1HmEZXHsRid67ORHaM/Fi1JiM8evtDrtW5s/cfoAQSA/gZRtVrNZf9r+coFIEYTi4NzxaxpBycHYjS5j4n/0s67DUf2HEObqTVpveLqQVQC5Vxss6bLOdvyICoha9rcsgzWNd3oumkK/U8uwOHlanRYMQa7+gX7nn5ESYxFZZt9TAobB3SJxnWhJMSSefEEaLUosVHoosNROWZ3Vpg3bk3mheOgLRl1IUnFTXFpnOflF/S93vWA94EyAIqizANGAGWBY0KImkAmxu+lDIAQogywCOhv2M6yR8ueVaB/IM4eLlSs5IiZuRmtvFtzxue0UYxHnap8OPdj5gz/iqS4pOdRrJFg/yAqujtj71YRtbkZTb1bccHHuCejch0Phs55n59HzONeXHLWfAurcpiV0l84sbQpT/VGNYkMDKcgrl68TuWqbrhWdsbM3IyufTpyaF/+nvJhZm7GghXz2L5xd9YTXPLrwvnLeFRzp3IVN8zNzenzWg/27DK+5L1n1wEGDuoLgHefLlk90XZ2NqhU+kOmirsbVau5ExoSxsrf11Gv5qs0qt+Bnl0HcSsohD49385XPhfPX6ZqtSpUruKqz6dfd/btNn5P+3b7MeDN3gD07N2FY4Z8DvoepWbtlyhbtgxqtZoWLZsY3UiaXw/8Aynl7oK5myPC3Axr79YkP3ZcmjlkXzq36tSUtFv6m0WFuRlVlkwhYfMBknYX/OkLxeG4TLscgHkVF8xcHcHcDKvubUjxM74KoXbIbhhZtm9O+m39DXFRE74luMPbBHccSsy3y7m31ZfY+StMzqEo8/A/fwWPqlWoVNkVc3MzvF/rhs+eg0YxPrsP0v8N/WN4u/fuxPEj2ceJEIKevTuzfXPuoSu9+3XPcxz6fwnwD8DNwxWnSk6YmZvRvndbjvuYdox16N0e360lY0gLQOzF21h5OGFZyQGVuRqP3s0J25c9vCvjXip/1/uQTc1Hs6n5aGLO38J32PxnflqLNiQAVUVXhL0TqM0wb9KGTP8TRjEZF46jrtEAAGFphcrRDSVGk7XcrGm7YjukRVGUQv8nFR8lta6LxbAW4ACwRQgxX1GUOMOwlgpk/wnUoY8ChRDVFEW5DFwWQjQBagLngNpCiNLoG+0dgKNkN8RjDUNg+gMFejrL43RaHcum/caMVV+iUqvwXb+fsJt3eHPMWwRdDuSMz2mGThlGGYsyjF/8BQAxkTHMHT4bgK83zcO1mhtlypVh2akVLBz/MxcPXzA5hzXTlzP2r2mo1CqObDhAZGAYfUa/QcjlIC7uP8uASW9T2qIMHy0aC2Q/ms7F042hc95HpyiohGDn4i1GT9MwhVarZe7k+SxetwCVWs2/63ZwKyCYjyaM4OrFGxzad5Q6XrVY8MdcrKzL06ZTKz4aP5zX2gymS68OvNzciwo2VvQa2B2A6Z99TcDVwHyVO2ncLDZsXo5KrWbd6n8IuBHExMmfcvHCFfbuPsCaVZtYtPQ7Tl/YR0JCEiPf1T+ppUXLJkyc/CmZGZnoFB3jRs8gMeHZfkBptVomj5/Nun+Wo1arWLd6MwE3gpgw+RMuXrjCvt1+rF21iV+XfMOJ83tITEji/Xf19ZKUlMyShSvZc2AjiqLg63OY/fsOFSAJHZHTf6PqX1+CWkXChv08DLyD4+i3SL0cSPL+09gP88aqYzMUrRZt4j3Cx/0EQIUerbBsWgczm/LY9NffWBs27kfSrpnWGCgWx6VWR8zsRbgt/xpUKpI37yM9KBS7T4aQdiWQFL+T2AzuTbn2zSFTizbpHlGTfjC9nGKah1arZdqEOaza9BtqtZr1a7Zw88Ytxkz6mMsXruKz5yDrV2/mx9/mcvjsThITkhg1YkLW+s1eaURkZBR3QnPv+559ujB04Ecm5qPjp2m/8N2aeahUKnav30PIzVCGjRtKgP9NjvucoEaDGsxePhPLCpa06NSCd8YMZViHEQA4uTni4OKA/4lLz7Zj/sP4GfM4c+ESiYnJdOgzmI+GD6Gfd5dCK0/R6jg59U86rZ2AUKkIWn+IxJsReI3rR5x/MGE+z3Yz8hPpdKSt/RWLz+cghIr0Y3vRRYZSutfbaENvkul/Eu3Vs5jVaUS5L5fp4zctQ0m5B4Cwc0Rl44D2ZuHVhST9rxPF5VegEGIo+uErWuACsAVYACSgb7w3URSlrRDiF6Ad+ifoXAXeURTloRDiW6AvEAzcB7YpirJSCDEbeBOIAm4CoYqizMzvoxT7VvYu8h1krSpV1ClwPk3z9KBCFplq2mXwwqAWxeNi0z5rz6cHFbIFFP1xOamsaY95LKk6RufvJurCVNXC8elBhczn4tKiTiHLmgbTnx5UiF7rXvR/Ed5q2b7n8gAGU7Rz61To52y/cJ8X/r6kvBV2fRdVXReXnnMURfkT+POx2VvziPvkCetPQH/T6OPzp6K/2fTx+e8UKFFJkiRJkiRJKiTFpnEuSZIkSZL0LORzyP+3lNT6Lh7X6CVJkiRJkiRJkj3nkiRJkiSVDLpich+d9GKU1PqWPeeSJEmSJEmSVEzInnNJkiRJkkqEktmPKj1JSa1v2XMuSZIkSZIkScWE7DmXJEmSJKlE0JXYvlQpLyW1vmXPuSRJkiRJkiQVE7LnXJIkSZKkEqGk9qRKeSup9S17ziVJkiRJkiSpmJA955IkSZIklQhKCX3utZS3klrfsnH+FAMyrYo6Bdp5RhR1Cnx/p0pRp8BOXWZRp0D8w+SiTgGANVgWdQqYUfT1oSiiqFNAiKI/OZirzIs6BezVFkWdQrHylv+sok4BXWxYUacgSVIByMa5JEmSVCKsaTC9qFMAikfD/H9VSR2DLOWtpNa3bJxLkiRJklQiKCW0sSblraTWt7whVJIkSZIkSZKKCdlzLkmSJElSiVBSbxCU8lZS61v2nEuSJEmSJElSMSF7ziVJkiRJKhFK6g2CUt5Kan3LnnNJkiRJkiRJKiZkz7kkSZIkSSVCSR2DLOWtpNa37DmXJEmSJEmSpGJC9pxLkiRJklQilNQxyFLeSmp9y55zSZIkSZIkSSomZM+5JEmSJEklQkn9i5FS3kpqfcuec0mSJEmSJEkqJmTP+TNwblufl78aglCpuLXuINd/3Z5nnFv3Jry6/HP2dp1K/KVgStlY0mrpZ9h6VSV4w2HOTfmzwDmUatoUq09HgUpN6s6dpKxZa7S8bNeulP/oA7QxsQA82LyF1J07AbD8YCSlm7cAIOWvv0g74FfgPGq0aUDv6W+jUqs4td4Pv8XbjJa3Ht6dZm+0Q5upIyU+mQ0TlpAQoc+pxxdvUqtdQwB8ftmM/46TBcqhVbvmTP56LCq1ik2rt7L8l7+Mljdu3pBJs0fzUm1Pxo6cyr4dB7KWLf37Jxo0qsv5U/58OHiMSeW269CK2d9MQa1WseavTfyyYJnR8lKlzPl1yTfU96pDQnwiI4eNIexOBJUqu3Lk9E5uBQYDcO6sPxNGz6ScZTm27V6dtb6zqxP/rN/GtElzTd0lvNSmAb2mv41Qqziz3o+Dj9VLs7c60mJIJxSdjocpaWyetJy7QREml/O4Om28eGP6MFRqFUfW+7Jn8b9GyzsN70mrNzqgy9RyLz6ZlRMWEW84Hmxd7Hl73gfYutihKPDzsDnEhceYnINFq0Y4TvkAVCqSNu0hftlGo+VWfTviMH4EmdH6chPXbCdp096s5apyFrjvXMJ93+Pc/WqxyeXnzKPi5A+z8khYvsE4jz6dsB8/nMzoOH0ea7eTvGmPUR5VdiwhxfcEd2cvyne5rdu/wrQ541Cr1KxfvYUlP680Wl6qlDnfL/qKuvVrkZCQyKcjviAiTIO5uRmzf5hKPa9a6HQKX035jlPHzgEwdvLH9B3YA6sKVtR3b2XSfvBq8zLDZoxApVbj+/c+/l38j9HyniN60+GNTugydSTHJ7Fw/M/ERsTgXtuD977+EAtLC3RaHf/8uoHjO46aVHZeXNvWp+ks/fd34LqDXF6Y9/d3le5NaLfsM7Z3m0bcpeBnLvdpps6Zz+Fjp7G1sebf1b8VShlHz1/hm2Xr0el0vNapFcP7dzNaHnk3jum//ElC0j0qlC/HnNHDcbK3AcCr7/tUr+IKgJO9Lb9MHVUoORaUroQ+vUPKW0mt7yJtnAshegG1FUWZ94TlXoCLoii7Cqn8mcB9RVG+N3ldlaDRnHfwe2MuqZp4Ou/6ioi950kONG7YmJUrQ40RXYk9F5Q1T5uWwaXvNmJdoxIVaroV/A2oVFiN/oyEMePQxsRgt/Q30o4eQxsaahSWesCPez/+ZDSvdPPmmFd/ibjhIxDm5tj+9CMPT55CefDA5DSEStB31jCWDp5DUlQcn237mms+54jO0ciLuBbCj95TyEhLp8XgjvSYNIjVo36mVruGuNbxYH73LzArZc6Hf0/jxkF/Ht5PNXFXqJj2zQSGvz6K6Mi7bNj3J357j3DrZvbJNDIiikmfzuLdjwbnWv+PhaspU7Y0A99+zeRy5/0wnQF93iUyIpq9fhvZu+sANwNuZcUMers/iYnJNG/YhT79ujPty7GMHKb/ARAafIcOr/Y12mbK/RSjefsO/cPO7T4m5QX6eukzaxjLDfUyylAvORvfF7ce49Sa/QDU6tiIntOG8MfQPD+OJpSrYtCs4SwY/BUJUfFM2TYXf5+zaILCs2LuXAvma++JpKel02ZwZ/pPGsLSUQsAeHf+KHb+upnrRy9R2qIMik5nehIqFY7TPyb83clkRMdSZeNP3D9wivRbd4zC7u0+9MSGt/1nQ0g9e9n0sh/Lo+K0j4kYbshjw8+k+J3Mlcf93Yef2PC2+/RtUs9eMbFYFTO/mcjQ/h8RFRnNFp/V+O45RFCOz8Prb/UhKTGZ9k1707NvZybO+IxPR3zBwCH6z0D31gOxs7fhj/W/0qfjYBRFwXfvYf76fT2+p/59UtFPzGfEV+8z663pxEfFMW/bD5zdf5rwwLCsmOCrt5nYcwzpael0HtyNIZPeYcGo73iY+pBfRi8gKkSDTUVbvt05n4uHL/AgOcWkHHISKkGzr4ey7815PNDE03PXLO7sO0dSYKRRnFm5MtQa3oWY80FP2NLz16d7Jwb168Xkr0w+LeWLVqtjzpK1LP1yNI52Nrw5bg5tmzagWmWXrJgfVmzEu11zerd/hVOXbvDzqs3MGT0cgNKlSrHxx+mFkpskSXrPbViL0DNpe4qibHtSw9zAC+huYh4v5AeHbcNq3A+JJuVODLoMLXe2nsStS6NccfUn9Of6wu1oH6ZnzdOmPiT29E20DzOeKQfzWjXRRkSg1WggM5M03wOUadUyX+uq3auQ7u8PWi1KWhoZt29RulnTAuVR2cuTuNAo4sPuos3QcnH7Cep0bmwUc+vENTLS9Psg9EIQFZxsAXCs7srt09fRaXWkpz4k8sYdarZpYHIO9V+uw53gcMJDI8nIyGTXln2079raKCYyTMPNa0Ho8mjsnTxyhpT7pv8weblRfYJv3yE0JJyMjAz+3byLrj06GMV07d6BDWv1jZnt/+6lVZsW+d5+1Wru2NvbcvL4WZNzq/RYvfhvP0Htx+ol54+gUhal4Tn0Qnh4eRITGkVs2F20GZmc2X4Mr8fKDThxlXTD8XD7wk1sDMeDs6cbKrWa60cv6fN7kJYVZ4oy9V8i404kGeFRkJHJvV2HsOzQPN/rl67jidrOhpRj500u2ziPGmTc0WTlkbzrEOXa57/+S9f2RG1vzQMT82jwcl1Cg8MJC40gIyOTHVv20rFbW6OYjt3asvnvHQDs3uZLi1ebAOBZoyonjpwBIC42geSke9Tzqg3AxXOXiTFcaTCFp1d1okI03A2LJjMjk2Pbj9CkUzOjmKsnLmfVdeCFAOyc7QHQBEcSFaIBIOFuPEmxSVjZWpmcQ072DatxLySa+4bv7+CtJ6mcx/f3yxP6c2XRDrRpz/ZdbYrGXvWoYFW+0LZ/JTCYyk4VcXNywNzcjK6vNsHvtL9RzO0wDc3q1QSgab0a+J3yz2tTxZLyAv6Tio+SWtfP1DgXQrgLIQKEEH8BV4AhQogTQojzQoiNQghLQ1x3IcQNIcQ5IcTPQogdhvnvCCF+Nbx+XQhxRQjhL4Q4LIQoBcwCBgohLgohBgohygkh/hBCnBZCXBBC9M6xnW1CiAOAr2HeeCHEGSHEJSHElzlyniKEuCmEOArUKOh7t3Cy5UFkXNb0A008ZZ1tjGJs6rlj4WJHpO/Fghbzn1T2DmjvZl/u18bEoHJwyBVXpk1r7Fb8jvWsL1FV1C/PvGVojJcujahQgVING6KqWLFAeVRwtCExx75I1MRRwdHmifHNBrTlxkH9l33k9VBqtGmAeZlSWNiUx7NFbayd7UzOoaKTA1ER0VnT0Zq7ODrn3hfPm5OLI5ERmqzpyIgonJwdjWKcnSsSYYjRarXcS76Hra01AJWruLH/yGa27FxFsxa5Gwd9+nVn65bdBcrt8XpJekK9tBjSiQmHfqT7F4PYOrPgQ6wesXa0JT5HuQmaeKwdn1ynrQZ04MrBCwA4VnUmNTmFD38bx7Sd39J/kn7YganMHO3J0GR/NjKjYjHLI4fynVrhvnURLj9NwcxJ3xhECCpOfI+Yb5ebXG6uPCrakRmVI4/oWMzzyMOycyuq/LsY5x+N83CYOJLYAuTh6OyAJjIqazoq8i6OzsafbydnBzQR+hj9cXkfG1trbly9SYeurVGr1bhVdqFug1o4uxof06aydbIjVpPdqI/TxGLr9ORjov3ATlw4eC7XfM8G1TErZUZ0aFQea+WfhZMNKZHxWdMpmngsnIw/G7Z13bFwtiW8kL6/i0p0XCKO9rZZ04521tyNSzCKecmjEvtP6j+TvicvkJKaRmLyfQDS0zN4Y8zXvDV+LgcMMZIkPV/Po5e5OjAUCAI2Ax0VRUkRQkwExgghvgWWAK0VRQkWQqx7wnamA10URYkQQlgripIuhJgONFYUZRSAEGIOcEBRlHeFENbAaSHEfsP6LwP1FUWJF0J0NuTVFBDANiFEayAFeAN9j7wZcB7IdQYQQowERgIMr9CUDhaepu8VIWg44y1Ofb7E9HWfo7Tjx0n19YWMDMr28qbC5EkkfD6G9DNneVizJnaLFqJLTCTj6lUoyPABE73cpxVu9auyaOAsAG4euUyl+tUYtflLUuLuEXo+MM+e7ZIoOuouL9dpT0JCIvW96rByza+0bt6T+/eyL9f36dedUe9PLNQ8Tqzy4cQqH7x6vUKHT/qyYWzBx1ebqlmfV3GvX5XvBs4AQKVW49mkFl/1GE98ZCwjfx1Ny/5tObrhwFO2ZLr7fqe4t+MQSkYGFQZ2w2neWMLfmYT1oJ6kHDqTNRa9sN0/eJJ7Ow/q8xjQHae54wgf9gXWb/Yk5fDpF5bHIxvXbKXaSx78u381EeEazp/2R6d9cZ/JV/u2pVo9T6YPnGQ037qiDZ8sGM2vY38q/L8KKARNZ7zF0dFF+/1dVMa+05+5S9exzfc4L9epTkU7a1SGH8l7ls/F0c6G8KgYRkybT/UqrlRyLljHTmEoqWOQpbyV1Pp+Ho3zUEVRTgohegK1gWNCCIBSwAmgJnBbUZRHgx3XYWj4PuYYsFIIsQF9Iz8vnYFeQohxhukyQGXDax9FUeJzxHUGHv2st0TfWC8PbFEU5QGAEML47jgDRVGWAksB1rm8lWfNP4iKx8Ilu+fHwtmWVE1274O5ZRmsa1ai/T9TASjrUIFXV47lyDs/EP+cbirSxcagrpjdO6x2cEAXY3zjnJKcnPU6dcdOyn/wftZ0yqrVpKzS33hYYdpUMsPCKIik6ASsc+wLa2c7kqITcsVVb1mXDqP6sHjgLLTpmVnzfRf+i+9C/bCPQT+NIua2Jte6T3M3KganHL17js4VidaYfhOhqaIio3Fxdc6adnF1IkoTbRSj0dzF1dUZTWQ0arWa8lbliY9PBCA9Xf//SxevEhIcRjVPD/wv6McX165bAzMzMy5dvFqg3B6vlwpPqJdH/LefoO/s4QUqK6fE6Hhsc5Rr42xLYnRcrrhaLevRY9RrfDdwBpmG4yExKo6w6yHEht0F4OK+M1RtWB025Fr9P2VGx2Ke48qJmZN91g2Xj+gS72W9Ttq4F4dx+vde1qsWZRvVwXpQT4RFGYS5ObqUNGLnrzAtCSDzbhxmTjnycLQn47/y2LQHe0MeZbxqUbZRXazf9EZlUQbMzdA9SM1XHtGaGJxdnLKmnVwqEq25axQTpYnB2dWJKM1dw3FpSYLhuPx66g9ZcRt3rSD4lvF9LKaKj4rD3jBMBcDO2Z74qNzHRL2WDeg36nWmD5icdUwAlLUsy+QV01n3/WoCLwQ8Uy4AD6ISKOeS3XtcztmWB1GPf3+70XXTFH35DhXosGIMvsPmv5CbQguTo5010bHZVw2i4xKpaGd81aCinTULJn0IwIPUNPafOI+VpYVhfX2sm5MDjeu+xPXbYcWqcS5JJcHzGHP+qJtPoG8gexn+1VYUJd9nekVRPgCmApWAc0KIvK55CqBfjjIqK4py/bFgzD7eAAAgAElEQVQ8HsXNzRHnqSjK76a/tSeLv3ib8h5OlKvkgMpcTeXezQnfl90Jn3Evlc11P2B7s8/Z3uxzYs8HPdeGOUDGjQDUbm6onZ3AzIwyHdrz8NhxoxiVXfYJqHTLV8gMNdyIplIhrPTjNs2qVsWsWjXSz5g+rhkgzP8W9u5O2Lo5oDZX4+Xdgqs+xhckXOq402/OCFaM+J77cdk/GIRKYGFtCYBzzcq41KzMzSOXTM7h8oVrVKlaCdfKLpibm9G9b2f89h4p0PsxxYXzl6larQqVq7hibm5On9e6s3eXcS/v3l0HGDCoDwDefbpw9LD+aTR2djZZvVFV3N2oWq0KoSHZP5Be69+DLZt2Fji3cP9b2Lk7YWOolwbeLbj+WL3YuWc34Gq2b0hsyLMNFwAI8Q+iorsz9m4VUZub0cS7Jf4+xsdWpTruDJ4zkl9HfMO9HMdDsP8tLKwssDSMKa75Sl0iA8MxVdrlm5hXccHc1RHMzSjfvQ33Dxg/BUjtkN0gsWzfnPRb+n2vGf8tt9sP5XaHd4j5djnJW/cXqGGuzyMA8youmBnysOrehhS/x/PI/oxatm9O+m39ZzRqwrcEd3ib4I5Difl2Ofe2+uY7j0sXruJetRJuhs9Dz75d8N1zyCjGd88hXnujJwDdenXIGmdepmwZylqUAaBlm2ZkarVGN5IWRJB/IM4eLlSs5IiZuRktvV/ljM8poxiPOlV5f+5HzBs+m+S4pKz5ZuZmTFg6mUP/+HFy1/HHN10gsRdvY+XhhKXh+9ujd3PC9mWP68+4l8rf9T5kU/PRbGo+mpjzt0pEwxygTnV3QjV3CY+OJSMjkz1HztC2qfF9PgnJ97KuYC7ftJu+HfT3MiXfTyE9IyMr5uL1W1Sr5ExxIsec/28pqXX9PG+ePAksFEJ4KooSJIQoB7gCAUBVIYS7oighwMC8VhZCVFMU5RRwSgjRDX0j/R763u5H9gKfCCE+URRFEUI0VBQlr0Fve4GvhBBrFEW5L4RwBTKAw+h75+eif+/e6IfcmEzR6jg7ZSVt105EqFXc/vsQyTcjqDe+H/H+wUTs++8buLxP/Yi5ZVlUpcxw69IYvzfn5XrSy1NptST/+BM2338HKhWpu3aTGRKC5bvDyAgI4OGx41j060fplq+AVosu+R5Jcw3335qZYffrzwDoUh6QNPtr0GoLsivQaXVsmb6S9/6apH9k34aDRAeG02V0f8IuB3Nt/zl6ThpEaYsyDFn0GQCJEXGseO971OZmfLxRP6Qh7X4qa0cvLNAldK1Wy+wvvmP5+p9RqVVsXrudoIDbfDJxJFcuXsdv7xHqetXil5XfYlXBinadX+WTCSPxbv0GAKu2LaWqZxUsypXF7+J2po7+mmN+T3+ko1arZdK4r/h78++o1SrWrf6HgBtBTJj8Cf4XrrB3tx9rV23i16XfcvLCXhITknj/Xf2TWpq3bMKEyZ+QmZGJTtExYfRMEhOyGyW9+nZjUP+8LjLlj06rY+v0lQz/axKqHPXSaXR/wi8Hc33/OV4Z2pnqLeuhzcwkNSnluQxp0Wl1rJ3+O5//NQWhVnFsgx+RgeH0Gj2Q0Mu38N9/lv6ThlDGogwfLBoLQFxELAvf+wZFp2Pj16sYu2Y6CMGdK7c58rev6Uloddz9ajFuv88GlZqkf/aRHnQHu0+GkHblJil+p7AZ0hvLds1RtFp0SfeImvTD07dbgDxiZi/CbfnXoFKRvHkf6UGhhjwCSfE7ic3g3pRr3xwytWifUx5arZYvv/iGlRsXolKp2LR2G4EBt/n8iw+4fPEavnsO83/t3Xd4FOX2wPHv2U3ovUhHEAQFBUREVJTiVURFVPQqKurF7rVcBQuiongVsDcsWBHLFRs2QJAiSpEOIkrvhFCS0CFlz++PmU02YWmBndnf5nyeJ0+ys5N9T3Y2u++8c97zDv9kBC+88RTjp39LRsZW7r3FSSOpXKUiH34xmFBISU3ZSK87Hst93If63UuXbhdQslQJfps/iuEfj+DVZw/+FhrKCfHu42/z6EdPEAgGGD/8Z9YuWcNV91/DsvlLmfnzdHo8ciMlSpWk1xtOGtfm9ZsYdPPTnHFxW05s3ZQyFcrS/oqOAAzu/QorFxa+o6w5IaY9OpTzPn0QCQRY+vkvZCxeR4ve3dgybwVrxh7ZROAj8UC/gcyYM5+MjG2ce+l13HlTD7p16XTUHj8pGOSRW7tzxxMvkxMKcem5Z9Gwbk0Gf/ItTRoeS4fTWzDjj8W8OuwbRKBlk0b0vb07AMvXbKD/m8MISICQhujZ7YJ8VV6MMUeHHEnunojUA35Q1ZPc2x2BQUBxd5dHVfU7EekCPIczuj0DKKuq14rIjbg55SLyNU7qieBM6vwPUBGno50MDAC+A14GzsQZ9V+hqhdHPk5EbPcCN7s3dwDXqeoyEemLkyO/EVgNzD5QKcX9pbV4qUPDI687faSeX+3/6MiPu5YdfKcYS9u77eA7eeDGiqf4HQJpZB98pxjrXWKH3yEg4vtbBJ03bTz4TjF2SukjKAt7lFycfWRVXI6Wa+f19zsEAEKbC5eqeLQUP6GdeN1mo6qtYv4PuXjTTM//LhNdrI+3X8f6iEbO3ZHwkyJujwdOi7LrBFU9QZxk9MHATHf/D4EP3Z+jFZhOi/J4txXcKfJxIra9ArwSZd+ngaej/kHGGGOMMcb4yKtFiG4RkRtwJonOoZCpJMYYY4wx+2M54UVLoh5vTzrnqvoS8JIXbRljjDGmaErU0nomukQ93kdthVBjjDHGGGPMkfEqrcUYY4wxJqYSNc3BRJeox9tGzo0xxhhjjIkTNnJujDHGmISgevjrZJj/vxL1eNvIuTHGGGOMMXHCRs6NMcYYkxBCCZqDbKJL1ONtI+fGGGOMMcbECRs5N8YYY0xC0ASte22iS9TjbSPnxhhjjDHGxAkbOT+IHMTvENi7w//DlIn/M6K3Ze30OwSSAkG/QwBgaMZcv0Pg+got/A6BKsfv8jsEJA6GOIKb/Q+iRBx8nFx+4Ua/Q4grgSp1/A7Bc4mag2yiS9Tj7f+7qTHGGJNAQpvX+B1CkeyYG5MorHNujDHGmISQqDnIJrpEPd7+Xws1xhhjjDHGADZybowxxpgEEUrQkVQTXaIebxs5N8YYY4wxJk7YyLkxxhhjEoImaPUOE12iHm8bOTfGGGOMMSZO2Mi5McYYYxJColbvMNEl6vG2kXNjjDHGGGPihI2cG2OMMSYhJOqKkSa6RD3e1jk3xhhjTEJI1DQHE12iHm9LazHGGGOMMSZO2Mi5McYYYxJCoi5KY6JL1ONtnfMjUKN9M057qgcSCLD0s4n8+fr3Uferc+FptHv3XkZe8Bhp81dQrGIZzhlyD5VbHMfy4ZOY0fejQsdQ4szTqNT7TggG2PHNKLZ9+L9895fucj4V/3MrORs3A7D982/ZMWIUxVs1p1KvO3L3S65Xl019/svuiVMKFceJ7Zpz+eM3EggGmPr5eH5+89t893e46SLOuLojOdk57EjbxqcPvkX6OiemSx6+lqYdT0ECARb9Op+vnvzwkNttf25b+g94mEAwyGfDvmLwy+/mu79YsWReeXMAJ7doSnpaBnf07MXaNeudmJs2YtCL/ShTtgwhDXFRx6vYuzeTrt0u5O77b0FVSU3ZxN23PUR6WoZnMSQlJ/HNyGG5v1+jZjW+Hv4D/R4ZuN8YOpzblqcGPkIwGOCTj77k9SgxvPbWIJq1aEJ6Wga39byfNavzYnjupScpW7YMoVCICzpeyd69mTz86L1ceXVXKlQoR4ParQ7haETXqF1zuj5+PRIMMP3zCUx887t897e59h+c0eM8NBRi7849fNXnXTYuXVfo9sKSW7am9C13QyDAnrE/sufLT/fZp1jbDpTsfiOg5KxYxo7nnyJQtRpl+/4XRCApiT3ff83e0d/t87uHHMcprSnlxrF37I/s+SpKHGc5cag6cex80YmjTJ+8OPb+eGRxhJ3d8Qz6Pt2bYDDAFx+PYMirQ/Pd3+qMU+j73140btKQ+27ty0/fjzviNgGatTuFHv16EggGmPi/n/n+zW/y3d/55i60v/of5GTnsD1tG0MeGMyWdZuoXKsq9w15CBEhmBxkzIcjGf/JmELFEGzaihJX34EEAmT+OprM0Z/vs09Sq3Mo3qUHoITWLGf3uwMJNm5Oiatuz90nUL0Ou4c8Q/bcw3+//G32Aga98zmhUIjLz2vLTVd0znf/+o1bePy1oaRv3U75sqV55r6bqF6lIgAtLruN44+tBUD1KpV47dG7Drv9Q/HoMy8yafJ0KlWswIiP34pJG8aY/SuSnXMRqQecqar7fkoe6mMEhNbP3MC4qweyKyWNziP7s/anWWxdsj7ffkmlS3DCzZ3YNGtp7racPVnMe+5LKjSuTYUTahc2BAgEqPTQ3Wy88yGyUzdR4+PB7P5lClkrVufbbeeYiaQPej3ftr0z55HS3fmwCZQrS81vh7Jn2qxChSEB4cr+PRl83dNkbNhC7+8GsGDsTDZEdLDWLlzJc136kLUnk7bXnUfXPtfy4V2vUL9lI45r1ZiBFzwAwH++7E/DNk1YOm3hIfz5AZ5+ri/dL7uFlPWpjBz/OWNGTWDJomW5+3Tv0Y2tW7fR9tTOXHJ5Z/o+cT933NSbYDDIq28P5N7b+7BwwSIqVixPVlY2wWCQ/gMepn2bS0hPy6Dvk7341y3X8OKgNzyLYe/eTM4/p1vu74+aMJyRP4w94PMw4PnH+OelN5GyPpXRE4YzZtQEFkfEcE2PK8jI2MoZLS+g6+UX8ugTvbmt5/0Eg0EGD3mWu257yI2hAllZ2QCMGT2R99/5lKmzRh30WOyPBITL+v+Ld657hq0btnD3d0+zcOysfJ3vOd9OZtonPwPQ5B+n0uWxHrx3w/5PRA5JIEDp2//Dtsd6EdqyifIvvk3W75PJWbMqb5catSh5xbVse/Df6M4dSPkKAITSt7C1952QnQUlSlLh9Q/InD4ZTdtSqDhK3fYftvdz4ij3/NtkTp9MqEAcJa64lm0P7RvHtgfz4ij/6hHEkRtOgH4DH+JfV/6bDetT+WrMR4wbPYlli1fk7pOydgMP3/0EN93Zo9DtFCSBADc8dQsDr32StA1b6P/ds8z6eQbrl6zN3Wflnyt47OIHyNyTybnXdaJ7n+t5/a4XyNiYzhOXPUx2ZjbFS5Vg4JiXmT12Bhkb0w83CEpecxc7X3oYTd9M6b6vkT1vKqGUvPfLwDE1Kd75anYOug927UDKOsciZ9E8dvZ3BzNKlaXsMx+QvfDw3y9zckI88/anDHnyPqpVrkj33s/QvnVzGtStmbvPCx98QZcObeja8Ux+n/83rw77mmfuuwmA4sWK8cXLjx92u4fr0gvP45pul/DIU8/HvK2jLVFzkE10iXq8i2rOeT3gmiN5gMqnNGD7ylR2rN5EKCuHld9Oo3anU/fZr/mDV7Bw8A+E9mblbsvZvZdN0xeTE7GtMIqd1JjstevJXpcC2dns/GkiJdufddiPU+of57Bn8gx0z95CxXFsi4ZsWpXKljUbycnKYfb3Uzj5/NPy7bNk6p9k7ckEYOWcJVSoXhlwVvdKLp5MUnISScWSCSYF2b5p6yG1e8qpJ7Ny+RpWr1pLVlYW3349kk4Xdsi3z/mdO/LFZ84o/o/fjqFtuzYAtOt4Jn/9uZiFCxYBkJ6+lVAohIggIpQqXRKAsmVLk7phk6cxRDquwbFUqVqJ36fsvyNwyqnNWLF8dW4MI74aSacLO+bbp9OFHRnuxvDDtz/lxtC+41ksXLAoIoaM3Bhmz5zHxtT9/+2Hok6LhmxetYE097Ux7/upND0//yj83h27c38uVqr4UXmzTTr+RHJS1hFKdf439k4aT/LpbfPtU6JTF/aM/AbduQMA3epeHcnOdjrEgCQnQ6Dwb5NJx59IaENeHJm/jqdY6/xxFD+/C3tjHEdYs5ZNWbVyDWtWrSMrK5sfR4zhH53b5dtn3ZoUFi1cSkhD+3mUw9egRUNSV6awaU0qOVnZTPv+N049r3W+ff6auoBM9z1i6ZzFVKrhvEfkZGWTnemcMCYXS0ICUqgYgvUbE9q0Ht28AXKyyZrxC0ktzsy3T/LZF5I54TvY5R6L7fteMUs+9WyyF8yEzMN/v1ywZAV1qx9D7epVSU5O4oKzT2PC9Hn59lm+JoXTTz4BgNYnN2bC7/OiPVRMtWpxMuXLlfW8XWOMI6E65yJyvYjMF5F5IjJMRD4UkVdFZIqILBeRK9xdBwJni8hcEbmvMG2Vql6RXevTcm/vSkmjVI2K+fapdHI9StesxLpxcwv7Jx1QUtUqZG/YmHs7Z+MmgsdU3jfWjmdT4/MhVHn2cYLVqu5zf+lO7dn50/hCx1GhWiUy1ueN5mWkbKF8tYr73b/NPzuwcKLznKycvYTFU//kqRlv89/pb/PXpHmkLju0lIbqNaqxfl1K7u2U9alUr1Et/z41j2H9ug0A5OTksG3bdipWqsBxDeqBKp98OYTRE7/gjnt6ApCdnU2fXk8x7rcRzP5rIsc3bsBnw77yNIZIl1x+Id99PfqAz0ONGnmPH46hRoEYakTEmZOTw/Zt26lUqQLHNayHAp999Q5jfvmKf99z0wHbOlzlq1Vka8RrY2vKFspFeW2c0eM8HvrlZS58+Bq+e2LoPvcfrkDlKoQ25/1vhLZsIli5Sr59grVqE6xZh3KDXqfcc2+Q3DKvsxioUpXyr75PxQ++YPeXnxZ6tFoqVyGnQByBgnHUrE2gZh3KDnydcs++QfIp+eMo98r7VHjvC/Z8Xfg4wqrVOIYN61Jzb29Yv5FqNY45osc8FBWrVyYtJS/2tJQtVKxeab/7t7vqXOZNnJ17u1KNyjwz+kVemfYOP7z1zeGPmgNSoQqhtLyTTU3fRKBC/vfLQLXaBKrVptRDL1GqzysEm+6bzpXcuj1Z0yccdvsAqVsyqFYl7++uVrkCG7fk/1sa1a/Dz9PmADBu2hx27t5DxjbnZCEzM4ur73+aax8YwHh3H5NfCI35l4kfiXqsE6ZzLiJNgUeBjqraHLjXvasG0Ba4GKdTDvAw8KuqtlDVl6I81q0iMlNEZo7ftaSwAXFqv2uZ9WShM2eOit2TprHu4utIuepW9vw+iyr9H8x3f7BKJZIb1mf31JmexNPq0rbUbdaA8UOc3Nkqx1ajesNaPN7mDh5rczuNzjyJ4047IeZxBJOCnNamJXfd+iCXdu5B54vOpe05p5OUlMT1Pa+iU7sraHlie/76czF333eLpzFE6np5Z0Z8NTIm7QMkBYOc3qYl/77lAbpecC2dL/4Hbc9pE7P29mfqsLEMavcfRg78lI53X+ZNo8EgwZq12fbIvex4vj+l73oAKV0GgNDmTWy9pyfpt15DiXMvQCrs/2TzaMWxva8TR6kCcWy7tycZt19D8Q4XIOVjGEecOOuyczju5Ib8+PaI3G1pKVt45IL76XXOnZzdrQPlqpSPTePBAIFqtdj1fG92vzOAktffByVL594t5SsRqFWP7D9j937Z68YrmLVgMf/8z1PMXLCYYypXIOBeNRn97gD+92JfBvW6mWffG86alI0HeTRjzP9HCdM5BzoCX6jqZgBVDQ9rj1DVkKouBKrt97cjqOoQVW2lqq06ljo+6j67NqRTqmbeCEipGpXYlZI3ApJcpgTlT6jNeV/15dLfX6JKywa0//B+KjWrX7i/LorsTZtJqp436hU8pio5G/OPrIW2boMs59L4jm9GUeyERvnuL3VeO3ZNmAzZOYWOIyM1jQo180agKtSozNbUfUe2Gp11MuffdTlDbn429zJ1s06tWTlnCZm79pK5ay9/TZxL/ZaN9vndaDakpFKzVo3c2zVqVmNDSmr+fdZvpGat6gAEg0HKlStLeloGKetT+X3KLNLTMtizew/jx/7KSc2b0NS9nLxq5RoAvh8xmlNPb+FpDGFNTmpMUlKQP+YdOP8+JSXv8cMxpBSIISUizmAwSNlyZUlLy2D9+lSmTZlJWloGu3fvYdzYSTSLiOFIbU1Np3zEa6N8jcpsi/LaCJv3/VSanlf4yadhoS2bCVTJ+98IVK5KzpbN+ffZvInM3ydDTg6h1A2E1q8hUDP/HBBN20L2qhUkN2lWqDh0y2aCBeIIFYxjyyYyp7txbNxAaN0aAjX2jSNn9QqSmhYujrDUlI1Ur5X3Nli95jGketDBS9+wJTdNBZyR8PQNafvs1/SsZlxy1xW8ePOA3PeISBkb01m7eDWNWx/+a1QzNhOolHflUCpWJZSR//1S0zeTPXcq5OSgmzcQSl1LoFqt3PuTW51D9pwpkFO498tqlSuQujnv707dksExlfOfcB1TuQIv9bmD4S8/xj3XXQpAuTKl3N939q1dvSqtTmrEX8vXFCqORKaqMf8y8SNRj3Uidc73JzIxsHDJilFsmbucsvWrU7pOVQLJQep1bcPaMXmXYbO27+bLk+5gxOn3MeL0+9g8exkTb3yRtPkrDvCohyfzz0Uk1alFUs3qkJRE6U7t2f1L/uoBwYhLqCXbnUHWyvyTRUtf0JGdowuf0gKwet4yqtarTqXaVQkmB2nZ5Uz+GJt/ZKl203pc/czNvHPzs+zYsi13e/r6zTQ8vQmBYIBAUpAGp59I6tK1BZuIau7sBdRvUJc6dWuRnJxM18svZMyo/Jebx4yewJXduwJwUdfzmTzpdwB+GTeZE5ocT4mSJQgGg7Q5qxVLFi1jQ0oqxzduQCX3Q/Cc9meydNFyT2MI69rtwkMaNZ87+w+Oa3AsdY91Yri0W5QYRk3gn24MF3ftxORJ0wCYOO43TmjSiJJuDGecdVq+iaRHau28ZVSpV52K7mujeZczWDg2f/58lXp5JxYndDyFLSs3FHyYw5a95G8nXaSa879R/JyOZE2fnG+fzGm/kXSyc+Il5coTqFmH0Ib1BCpXhWLFnO2ly5Dc5GRy1hWuE5S95G8CNWoTOMaJo9jZ+8aRNe03kk9y4yhbnkCtOoRS1yMF4kg68WRChYwj7I85C6lXvw6169YkOTmJiy49n3GjJx3RYx6K5fOWUr1+DarWOYZgchJturRl9tgZ+fY5tml9eg64nRdvGsC2LXnzTipVr0xyced5KFWuNI1anUjKIaa+RcpZuYjAMbWQKtUhmETyae3Injc13z5Zc6YQbNwcAClTjkC12uimvLS1pNYdCp3SAtD0+HqsStnI2tTNZGVlM/rXGbRv3TzfPunbtufO+3j3y1Fcdq4zj2jbjp1kugMt6du2M/evZTSoUwNjTOJJpGot44FvRORFVd0iIvtPaITtwBHNdtGcEDP6DuXcTx9EggGW/e8Xti5eR7MHupE2b0W+jno0l/7+EsllShIolkTtTq0Y333gPpVeDionRNqg1zhm8EAIBNjx3Wiylq+i/O03kLlwMbsnTaXs1ZdRst0Zzqjc1u1s7vds7q8Ha1QjWK0qe2fNL8xTkCuUE+LLx9/nzo8eIRAMMG34RDYsWcuF913J6j+Ws+DnWXTtcx3FSpXgX284Kf7p6zbzzi3PMXfkNBqdeRIP//Q8qPLXL3NZMO7Az13un5+Tw6MPPs2nXw0hEAzw+SffsPjvZfTucxfz5v7J2FET+N+wr3j1rYH8NmsUGelbufOm3gBs3bqNIW8MZeS4z1GU8WN/ZdwYp5Py0rNv8PWPQ8nKzmbdmhTuu/MRz2MA6HJpJ3r88479NZ0vhkce+C+fffUuwWCAzz7+mkV/L+XBR+5m7pwFjBk1gU+Hfcnrbw9i6uzRZKRv5baevXJjeHvwh4we/wWqyrixk/h5zC8APPZkby674iJKlirJ7D+dx3h+4OBDOjZhoZwQ3z7+ITd/1IdAMMCM4RNJXbKW8++7grV/rGDhz7M484bzaXjWyYSys9m9dSef93rzsNrYT8PsfOtlyj35vFPC8OeR5KxeSclre5K95G+ypk8ha/Z0kk85jfKDh0IoxK4P3kS3byOpRSvK9rwTUEDY/c3n5Kza/wnaweLYNeRlyj7hxjFuJDlrVlLymp5kL3XjmOPG8fpQNCfE7g/dOJq3olTPO0EVRNgz4gjicOXk5NC/z3O8N/w1goEgX372HUsXLeeeh25jwdy/GP/TJE5u0YTBQ5+jXPlydDj/bO558FYuOvuqI2o3lBNi6OPv8uBHjxMIBvhl+DjWLVlDt/uvZsX8Zcz+eQbdH7meEqVKcM8bzv/HlvWbefHmAdRsWJtrHr0h/DQwcsi3rF20+iAtRgsixJ5PX6fUf55BJEDm5J8IrV9F8UuuJ2fVYrLnTSPnz5kkNT2V0k++4+z/5Tvozu0ASOVqBCpWJWdx4d8vk4JBHrm1O3c88TI5oRCXnnsWDevWZPAn39Kk4bF0OL0FM/5YzKvDvkEEWjZpRN/buwOwfM0G+r85jIAECGmInt0uyFfl5Wh6oN9AZsyZT0bGNs699DruvKkH3bp0iklbR1ui1r020SXq8ZZEukQjIjcADwA5QHi2zA+q+qV7/w5VLSMiycBPQGXgw2h552Ef17zO9yfo7OpHPpJ4pF5I23eiqde+2rrA7xDiRs5RrKRRWNdX2H+6j1ceOvkwT2hjQOLg+mObKTv9DoHWper6HQJvnL/D7xAAKN6rr98hEKhSx+8QSK5y3FG7Wn2oypSqH/PP7B27Vnj+d5noYn28/TrWiTRyjqoOBfZb6kFVy7jfs3By1I0xxhiTINSqqRQpiXq842DMxxhjjDHGGAMJNnJujDHGmKIrUXOQTXSJerxt5NwYY4wxxpg4YSPnxhhjjEkIiVTkwhxcoh5vGzk3xhhjjDEmTtjIuTHGGGMSQqJW7zDRJerxtpFzY4wxxhhj4oSNnBtjjDEmISRqDrKJLlGPt3XOjTHGGJMQErWzZqJL1ONtaS3GGGOMMUeRiFwgIotEZKmIPBzl/r4SExQAABm2SURBVOIi8rl7/+8iUs/7KM3REItjbZ1zY4wxxiQE9eDrYEQkCAwGOgNNgO4i0qTAbjcB6araEHgJGFSoP7iIS9RjbZ1zY4wxxpijpzWwVFWXq2om8D+ga4F9ugJD3Z+/BM4VEfEwRnN0xORYW875QVy3/uMj/mcRkVtVdcjRiMevGF61GI6aeIghXuKwGI5ODIvjIIajIR5iiJc4LIbCyc5cF/MOrojcCtwasWlIgeepFrAm4vZa4PQCD5O7j6pmi8hWoDKw+ehHnLhifbz9OtY2cu6NWw++S8xZDA6LIU88xGExOCwGRzzEAPERh8UQp1R1iKq2ivj6f3UCYw6dX8faOufGGGOMMUfPOqBOxO3a7rao+4hIElAe2OJJdOZoismxts65McYYY8zRMwM4XkTqi0gx4GrguwL7fAfc4P58BTBeE7UuYGKLybG2nHNvxMMlL4vBYTHkiYc4LAaHxeCIhxggPuKwGP6fcvOK7wJ+AoLA+6r6p4j0B2aq6nfAe8AwEVkKpOF06sz/M7E61mInasYYY4wxxsQHS2sxxhhjjDEmTljn3BhjjDHGmDhhnXNjjDHGGGPihHXOE5CIBEXkb7/jiBciUtliABF5QUSa+hzDPssWR9vmQRzVReQSEekiItW9bj8ijpYico+I3C0iLf2KwxgAEbn3ULYZY2LLJoTGiIjUAo4loiKOqk7ysP1vgbtVdbVXbR4gljOBeuR/Lj7ysP0lwFzgA2CUH+Wq4iSGm4F/4RyHD4DPVHWrxzHMVtWWBbbNV9VmHsZwM/A4MB4QoB3QX1Xf9yoGN47HgSuBr91NlwJfqOp/PYyhAnA9+/5/3uNB29uB/f4fqGo5D2K4/ED3q+rXB7r/KMZx/0HieNGjOKL9f85R1VO8aN8Y47DOeQy4I4FXAQuBHHezquolHsYwCTgFmA7sDG/3MgY3jmFAA5yOaeRzEfMP/4gYBPgH0BM4DRgOfKiqR2PV8/83MUTE0hink94dmAy8o6oTYtzmHcCdwHHAsoi7ygKTVfW6WLZfIJZFwJmqusW9XRmYoqqNvYohIo7mqrrHvV0SmOtlHCIyBZgG/AGEwttVdaiHMTwFpADDcE6WrgVqqOrjHrT9wQHuVlXtGesY3Dj6uT82xnl/CNdJ7gJMj/X/h4h0B64B2gK/RtxVFgip6rmxbN8Yk591zmPA/dBtpqp7fYzhHmANTk3NXKr6i8dx/AU0iZfFFUSkA/AxUBqYBzysqlOLSgwiEgQuxumc18E5SWgL7FTVmNXZFZHyQEVgAPBwxF3bVTUt+m/FLJYpQHtVzXRvFwMmquqZHscxAbhMVTPc2xWAr1W1o4cx7DNS6jURmaeqzQ+2rShwB1UuUtXt7u2ywI+qek6M2z0WqE+U/09gvqpmx7J9Y0x+tghRbCwHkgHfOufAMcA9wGzgfeAnnzrIC4DqOCNjvnBHRq8DegCpwN04I1MtgC9wPpSKQgwv4XTMxwPPqOp0965B7gllLKmqrhSRf0eJq5LHHfSlwO9u6pcCXYH54dQCr1IIgK3AnyIy1o3jPGC6iLzqxuHF1aVhInIL8AMR71ceH4+dInIt8D+c56E7EVf7vCIiFwFNgRLhbara3+MwqgGZEbcz3W0xpaqrgFXAGbFuyxhzcNY5j41dwFwRGUf+DzzPUjlU9VEReQw4H2eU9HURGQ68p6rLDvzbR05Evsf5oC0LLBSR6eR/LrxMr5mKc8n8UlVdG7F9poi8VYRimA88qqrROj6tY9z2pzgnBrNwXhcScZ/ipLt4ZRn5U2u+db+X9TAGgG/cr7CJHrcPTufvOaAvefnfXh+Pa4BX3C/FSbW6xsP2cf8HSwEdgHdxltiefsBfio2PcE7Qwq+LSwEvU4wuBwbhDO6I+6Ve5P8bY/JYWksMiMgN0bZ7mccZEUtznM75BcAEoA0wVlUfjHG77Q50v5fpNSIifqfVxEMMbhwVgePJPzro2URlE19EZDnQWlU3+x2Ln8KTkiO+l8GZuH22D7G0BMLtTlLVOR62vRTooqp/edWmMWZfNnIeA6o61M1jbeRuWqSqWV7G4Ja/uh7YjDMS9ICqZolIAFgCxLRzHu58i8ggVX2oQGyDAC9z36uIyIPse8nas9zeeIjBrVJyL1AbZ4JuG5wRfS9jOAtn0uNOEbkOaAm87GVVIRFphTNSXLCakmcVY9w4LgaeiojDj1HKpThX+nwjIo2AN4FqqnqSiDQDLvGyag2w2/2+S0RqAluAGh62H6kUsE1VPxCRqiJSX1VXeNR2qnXMjfGf1TmPARFpj9MBHgy8ASwWkZhO6ImiEnC5qnZS1S/CJweqGsJJL/DKeVG2dfawfYBPgL9x8rqfBFYCM4pgDPfiVIJYpaodcKr5ZHgcw5s4HaDmQC+c9JJhHsfwCU4pyW441TDCX157GbgBqKyq5VS1rA/pAztxUvDeFpFXw18ex/AO0AcIv0fNB2I2OXk/fnAn5D6HM09nJfCZxzGEq7Y8hPN8gDN36WMPQ5gpIp+LSHcRuTz85WH7xhhs5DxWXgDOV9VFkDsy9BlwqlcBqGq/A9wX85GRyNJ5IjI/4q6ywJRYt19AZVV9T0TudUf0fxERrzvG8RDDHlXdIyKISHFV/dstq+ilbFVVEekKvO4+Jzd5HMMmVf3u4LvF3Bpggc/pTiPcLz+VUtXpTrXRXJ5WB1HVp9wfvxKRH4ASXq8B4LoM56R5thvXerdii1fK4VxJOT9im5JXi98Y4wHrnMdGcrhjDqCqi0Uk2c+AfPApMIo4KJ2HOyIHpLgVGdbjXFkoajGsdUcHRwBjRSQdp0KDl7aLSB+cyjXnuGlWXv9v9BORd4GCE7a97oA8CIwUkV8KxOFVtRhf5sFEsVlEGuBOSBWRK/C4upOIXB9lm6eLpbky3ZPX8HNR2uP2A8C9EeU9K+IMNhljPGSd89iY6X74hy9HXgfM9DEez7mjTluB7m5t7Wo4r7cyIlLGyxxj4L9une1ewGs4o0P3edh+XMSgqpe5Pz7h1tguD4z2MgacxbmuAW5S1Q0iUhcnlcBL/wJOwDkpCC+848fo4NPADpw5CMU8bhsAEVlBlFU6VdXLai3/BoYAJ4jIOmAFznuml06L+LkEcC7O6LXXnfPhIvI2UMEtcdkTJ+3HK83CHXMAVU0XEVsd1BiPWbWWGBCR4jgfOG3dTb8Cb/i5KJFfROQu4Amc2t65HSGvJ98VZSJywBF6r65kuCdpP7v57r4RkUXq8Wqg+4ljgaqe5HMMlSNulgCuBCqpB6tzRomlNBAIL8DjJ/cK0/9U9QIf2j4PJ61EcNanGOth2/NwFuhKd29XAn5R1ZO9isEYY53zmHPf3Gq7k5yKHLc01+nqLpXucduvEWVUMMyLuvNxEkN4dFSAukC6+3MFYLWqxnwBpIhYxuFMVPYjnzccwwfAc6q60K8Y3DiexTlZGeNnHAWJyCxV9Wx+jIhUA54BaqpqZxFpApyhqu95FUOUmJJx5gN4dhIXDyevbnrPIzgLo4Fzsva0qno9aduYIs3SWmJARCYCl+A8v7OAjSIyRVW9TqWIB2tw0lv8EE4lOgtoAnzu3r4S8Kpj5nsM4c63iLwDfKOqI93bnXEWOfHSDuAPcVbFzF0MycsFunBKSM51T1r2klfC0OurOXcAvUUkE2cxIM9LKbo1tcMCQCu8/1z4EKd6Tl/39mKc/xPPOueSt2gaOM9DE2C4V+0DqGqOiIREpLxfJ6+q+pGIzCSvvOrlfp/EGlMU2ch5DIjIHFU9xa0rXUdV+4UXt/A7Nq+JyHtAY+BHfJr0JiLTgLaqmu3eTgZ+VdU2RSyGPwpeno62LcYx+L5Al4gcu58YvJ4c6zt37kH4QyAbp4Tg86q62MMYZqjqaeH3TXfbXFVt4WEMkYumZeOUG127v/1jGMe3ONVa/Dx5Ncb4zEbOYyNJRGoA/yRvNKioWu1+JeN9VY6wijgTMMO51WXcbUUthvUi8ih5E5Wvxaka4xl3ga6SQN3IikYex7BKRNoCx4cXesE5Hp4Sp3bgtUB9VX1KROoANVTVy2XjO+PUe69H3ufB1UB/D2PY6ea+hyuUtMH7q20zgd2qGnJL37YUkVSvF4/DmZRsZQuNKeKscx4b/YGfgN9UdYaIHIezKFFRNBInh7Eeea83xdsP/4HAHHeUUIBzcCapeilaDE96HEN3oB/wjXt7krvNMyLSBXgepzpJfRFpAfRX1Us8jKEfTvpGY5x0ivBCL2d5FYPrDZxJ0h1xVgrdgbNw2WkH+qWjbATOQlSzgT0ethvpfuA7oIGITAaqAld4HMMk4Gy3dOAYnAXCrsI5efJMPJy8GmP8Z2ktJqZEZBHQG1hAXrUWz1MIRKQ6cLp783dV3eBl+/ESg99EZBZOZ3RiRAqDp1VLRGQu7kIvETF4nnYmIrNVtWWBdI55qtrcwxh8rxjjxpGEc7IkwCKvR6wjjsXdQElVfdbr1Bo3jtyTV1X15eTVGOM/GzmPAREpAdwENMUpTwaAqvb0LSj/bFLV7/1oWEROcFfBDE96W+N+rykiNVV1toex9HfL033r3g6IyCeq6tnIXIFJb2FbcS7pv62qXoycZqnqVsm/GmRofzvHiN8LvYRluRU6wnFUxfvnYoqInKyqf3jcbi73/fJOnNKzCvwqIm959HqMCEPOwBkpD69YG/Sw/bAngNbARABVneteeTXGFCHWOY+NYcDfQCec9I1rgb98jcg/fq7G2Au4hegr3Cl5FQm8UEdE+qjqALcO/nBgjoftAyzHSRn4zL19FbAdaISz0EkPD2L4U0SuAYIicjxwDzDFg3Yj+b3QS9irOClGx4jI0zipHI950bCI/IHzP5AE/EtEluNf5ZqPcF6Hr7m3r8F5D73SwxjuBfrgVDP60+0QT/Cw/bB4OHk1xvjM0lpiIKJay3xVbeZHZY54ISIf46zG+Cf5FyEqUlcR3Ml/nwB/AB2AUar6kscxzFDV06JtE5E/VbWpBzGUwpkknbvICvCUl6OkIjII+LlADP9Q1Ye8iiEilhNwVqMUYJyqenISv7+KNWFepp2JyEJVbXKwbUWBW91qHPAwzkTde4BkVb3d18CMMZ6yznkMiMh0VW0tIpNwLtduAKart0tixwXxcTVGEbn8QPd7MXpfoI50MvA2MBm3hrPHqTV/AZ1UdbV7uy7OCoQnRuY9J7pwfnGBbX7knA9T1R4H25bo3BP411V1mnv7dODfqnq9hzFUBR5k31REL6+uFTx5hbyT1yK3urQxRZmltcTGEHfW/2M4VQjKAJ4vhx0npohIE58WsuhygPsUb0qWFUypScdZ4OQFvE+t6QX8JiLLcEZq6wN3ujnXntQZd8vU9SZ/9R5POkEicgfOyfJxIhK5Ym9ZnBMmr+W7UuFOivRsZc44cirO+8Rq93ZdYFE49cajk6ZPcBY+uhi4HbgB2ORBuwVdpKp9iSjBKyJXkrdipzGmCLCRcxNT7mhtA8Dv1RgN4Oa7n+DeXOTxpDtEZB7wFs7KuTnh7ao6y4O2y+PUlh+AkzYQtl1V06L/Vkzi6INTXrQksCvirixgiKr28SqWeBAPKTYiMktVT428ghItDcyDOKJd1dlnmzEmsdnIeQyISDXgGaCmqnYWkSbAGarq2XLUceQCvwNwO2X9cGqLA/yCU57Ms4VO4ug1cSp5o9bNRQRV/cjD9rNV9U0P28vlHu+teFzbPUocA4ABIjIAeBZnQm44laIojpYkAWtVda+ItAeaAR+paoaHMYRLN6aIyEU4i3NV8qpxEekMXAjUEpFXI+4qh7NiqTGmCLGR8xgQkVE4i5v0VdXm7uXqOV4uk27yiMhXOHXWw6kbPYDmqnrAnPSjHIPvrwkRGYZzFWMueaPW6sXS4CIS7ujcA2zEqVISWb3Hs5HreOFWirkHqI1zTNoAU73Oc/abW3e+Fc5J40iccqNNVfVCD2O4GPgVqINTNaYc8IRXZWBFpDnQAqe6V2QK5HZggqqmexGHMSY+WOc8BiIqYEQuLuL5ghbGEe259/p4xMNrwk0xaqI+/NOLyAqcUWGJcrcW0cnSf+CsBjpNVVu4lVue8fKkMR5ELAD0ILBbVV/zeoKyiAwF7g2P1rsnk897XVVKRJLDCzC585bqqOr8g/yaMSbBWFpLbOwUkcrkLS7SBudyuvHHbhFpq6q/AYjIWcBuj2OIh9fEAqA6kOJxu6hqfXAWnCmY5+4uQlMU7VHVPSKCiBR3F8zypbKRz7JEpDtwPXmTuJM9jqFZZBqNqqaJiB/Vi8aKyCU4n82zgI0iMkVV7/MhFmOMT6xzHhv341RpaSAik3EWfrnC35CKtDuAoW7uOTgVU27wOIZ4eE1UARaKyHTyp5R4uTT4FKDg5LZo24qCtSJSARiB0ylLBzyrLx5H/oVTIeVpVV0hIvVxFiHyUkBEKobTR9yRcz8+H8ur6jYRuRkn775fgcpCxpgiwDrnsdEA6IyTv9gNOB17rv30F87EuwZABZwR60sBzz70VHW2iLQDGuOkdiwKX7720BMet5dLRKoDtYCS7ohkOL2lHFDKr7j8pKqXuT8+ISITgPLAaB9D8oVbZvWeiNsrgEEeh/ECMFVEwiULrwSe9jgGgCQRqQH8k4hyisaYosU6jLHxmKp+4eYMdgCeB97E6aQb730LZACzgXV+BOAuLnI/cKyq3iIix4tIY1X9wasYVPUXr9qKohNwI87kxxcjtm/HKStYpPl8bHwRrmO+v/u9LLeqqh+JyEzy1h243Ke1GfrjLDz0m6rOEJHjgCU+xGGM8ZFNCI2B8GQmt1TaH6r6aVFagTHeiMgCVT3J5xg+x8khvV5VT3I761O8mBAqIr+palsR2U7+zlC45ny5WMcQEUs3Vf3Kq/ZM/Iqob/5v93s4leU6nNflw/v+ljHGJD7rnMeAiPyAM0J7Hk4u7W5guqo29zWwIkpEhgCvqeofPsYwU1VbFajWMq8ovibcOtIFl0nv719Exk/RBi6K2sI7IvKgqj4rIq8R5WqCF+VOjTHxw9JaYuOfOIvvPK+qGW4O4QM+x1TkRFw2TwL+JSLL8W+V0kwRKUletZYGREzK9IKI3FRw0SMRGejlCKWIvIWTY94BeBdnUux0r9o3cUlE5CxVnezeOBMI+ByT1/5yv8/0NQpjTFywkXOTsOJhWfCIWM4DHgWaAGOAs4AbVXWihzGMBD5R1U/c24OBkl7Wcg4vjx7xvQwwSlXP9ioGE19E5FTgfZwJsYJTTamnqs72NTBjjPGJjZybhOVl5/sQ3AD8CHwJLMdZ8GSzxzF0A74TkRDOlZ0MrxdZIa++/C4RqQlsAWp4HIOJI6o6C2geLnWqqkV2TQgR+Z5901q24oyov11wjQBjTGKyzrkx3ngPOBtnHkIDYI6ITFLVV2LdsFuzOexmnLrak4EnRaSSqqbFOoYIP7i1vZ/DqZ6jOOktpogSkeI4J471cEoJAkV2HsJynDUQPnNvX4VT0agR8A7Qw6e4jDEesrQWYzwiIkGc5do74Cy6sltVT/Cg3RXsW6UlTFX1uFjHEI3bKStRlEdKDYjIaJzR4VlATni7qr7gW1A+EZEZqnpatG0i8qeqNvUrNmOMd2zk3BgPiMg4oDQwFfgVOE1VN3rRtqrWF5EAcEZ40p1f3BKSvYC6br33uiJytpf13k3cqa2qF/gdRJwoIyJ1VXU1gIjUBcq492X6F5YxxktFbUa8MX6Zj/PhehLQDDjJrd7iCVUNAa971d4BfIBTpeYM9/Y64L/+hWPiwBQROdnvIOJEL+A3EZkgIhNxTuR7i0hpYKivkRljPGNpLcZ4SETK4qyU2RuorqrFPWz7eZyR+6/Vp398q/duChKRhUBDYAX+lTqNG266VzjdbZFNAjWm6LG0FmM8ICJ34UwIPRVYiVM67lePw7gNuB/IEZHd+LBCKHFQ793Enc5+BxAv3LSv+4Fj3bSv40WksaV9GVO0WOfcGG+UAF4EZqlqth8BqGpZP9otoB8wGqgjIp/g1nv3NSLjCxEpp6rbcKqRGMcHOBNjI9O+vgCsc25MEWJpLcYUISJyCXCOe3Oi1yNyIvIxTv79bpyycb/7UO/dxAER+UFVL46oJhQXVYT8ZGlfxhiwkXNjigwRGYhTyvETd9O97rLpfTwMw7d67ya+qOrF7o+TgV+AX1X1bx9DigeW9mWMsZFzY4oKEZkPtHArt4Trrs/xeuKdX/XeTXwSkQ44J2xn45ywzcbpqBepEzZxVl/qAdwENAHG4KZ9qepEH0MzxnjMOufGFBFu57x9eEVQd+XQiV52zqPUe//Nq3rvJn7ZCZtDRP4A2gNtcNJ8plnalzFFj6W1GFN0PAPMdusnC07u+cMexzAfp2LNSTirQmaIyFRV3e1xHCZO+LlAVxyaDRynqj/6HYgxxj82cm5MEeFOxlwMpOOUc5yhqht8isW3eu8mvojISzgnbHtx8s8nAUXyhE1E/sap+b4K2EkRr/luTFFlnXNjiogoub1zAE8nY0ap9/4rTn7xeK9iMPHJTthARI6Ntl1VV3kdizHGP9Y5N6YI8Tu3V0R643TIfav3buKLnbAZY0x+1jk3poiwyZgmHtkJmzHG5GcTQo0pOmwypok7qvq83zEYY0w8sZFzY4oYy+01xhhj4peNnBtTRETJ7X0fJ53AGGOMMXHCOufGFB0lgBex3F5jjDEmbllaizHGGGOMMXEi4HcAxhhjjDHGGId1zo0xxhhjjIkT1jk3xhhjjDEmTljn3BhjjDHGmDhhnXNjjDHGGGPixP8B2EkRCGLpujsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 936x648 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#数据关联性分析\n",
    "\n",
    "#get the names of all the columns\n",
    "cols=basedata.columns \n",
    "# Calculates pearson co-efficient for all combinations，通常认为相关系数大于0.5的为强相关\n",
    "data_corr = basedata.corr().abs()\n",
    "plt.subplots(figsize=(13, 9))\n",
    "\n",
    "sns.heatmap(data_corr,annot=True)\n",
    "# Mask unimportant features\n",
    "sns.heatmap(data_corr, mask=data_corr < 1, cbar=True)\n",
    "plt.savefig('sharebike_coor.png' )\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "weathersit and temp = 0.99\n",
      "casual and registered = 0.95\n",
      "dteday and yr = 0.83\n",
      "windspeed and registered = 0.67\n",
      "temp and registered = 0.63\n",
      "weathersit and registered = 0.63\n",
      "season and casual = 0.59\n",
      "workingday and atemp = 0.59\n",
      "season and registered = 0.57\n",
      "temp and casual = 0.54\n",
      "temp and windspeed = 0.54\n",
      "weathersit and windspeed = 0.54\n",
      "weathersit and casual = 0.54\n",
      "weekday and windspeed = 0.52\n"
     ]
    }
   ],
   "source": [
    "#Set the threshold to select only highly correlated attributes\n",
    "threshold = 0.5\n",
    "# List of pairs along with correlation above threshold\n",
    "corr_list = []\n",
    "#size = data.shape[1]\n",
    "size = data_corr.shape[0]\n",
    "\n",
    "#Search for the highly correlated pairs\n",
    "for i in range(0, size): #for 'size' features\n",
    "    for j in range(i+1,size): #avoid repetition\n",
    "        if (data_corr.iloc[i,j] >= threshold and data_corr.iloc[i,j] < 1) or (data_corr.iloc[i,j] < 0 and data_corr.iloc[i,j] <= -threshold):\n",
    "            corr_list.append([data_corr.iloc[i,j],i,j]) #store correlation and columns index\n",
    "\n",
    "#Sort to show higher ones first            \n",
    "s_corr_list = sorted(corr_list,key=lambda x: -abs(x[0]))\n",
    "\n",
    "#Print correlations and column names\n",
    "for v,i,j in s_corr_list:\n",
    "    print (\"%s and %s = %.2f\" % (cols[i],cols[j],v))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#数据分解和训练\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 160,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.344167</td>\n",
       "      <td>0.363625</td>\n",
       "      <td>0.805833</td>\n",
       "      <td>0.160446</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.363478</td>\n",
       "      <td>0.353739</td>\n",
       "      <td>0.696087</td>\n",
       "      <td>0.248539</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.196364</td>\n",
       "      <td>0.189405</td>\n",
       "      <td>0.437273</td>\n",
       "      <td>0.248309</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.212122</td>\n",
       "      <td>0.590435</td>\n",
       "      <td>0.160296</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.226957</td>\n",
       "      <td>0.229270</td>\n",
       "      <td>0.436957</td>\n",
       "      <td>0.186900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.204348</td>\n",
       "      <td>0.233209</td>\n",
       "      <td>0.518261</td>\n",
       "      <td>0.089565</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0.196522</td>\n",
       "      <td>0.208839</td>\n",
       "      <td>0.498696</td>\n",
       "      <td>0.168726</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.165000</td>\n",
       "      <td>0.162254</td>\n",
       "      <td>0.535833</td>\n",
       "      <td>0.266804</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.138333</td>\n",
       "      <td>0.116175</td>\n",
       "      <td>0.434167</td>\n",
       "      <td>0.361950</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.150833</td>\n",
       "      <td>0.150888</td>\n",
       "      <td>0.482917</td>\n",
       "      <td>0.223267</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   season  yr  mnth  holiday  weekday  workingday  weathersit      temp  \\\n",
       "0       1   0     1        0        6           0           2  0.344167   \n",
       "1       1   0     1        0        0           0           2  0.363478   \n",
       "2       1   0     1        0        1           1           1  0.196364   \n",
       "3       1   0     1        0        2           1           1  0.200000   \n",
       "4       1   0     1        0        3           1           1  0.226957   \n",
       "5       1   0     1        0        4           1           1  0.204348   \n",
       "6       1   0     1        0        5           1           2  0.196522   \n",
       "7       1   0     1        0        6           0           2  0.165000   \n",
       "8       1   0     1        0        0           0           1  0.138333   \n",
       "9       1   0     1        0        1           1           1  0.150833   \n",
       "\n",
       "      atemp       hum  windspeed  \n",
       "0  0.363625  0.805833   0.160446  \n",
       "1  0.353739  0.696087   0.248539  \n",
       "2  0.189405  0.437273   0.248309  \n",
       "3  0.212122  0.590435   0.160296  \n",
       "4  0.229270  0.436957   0.186900  \n",
       "5  0.233209  0.518261   0.089565  \n",
       "6  0.208839  0.498696   0.168726  \n",
       "7  0.162254  0.535833   0.266804  \n",
       "8  0.116175  0.434167   0.361950  \n",
       "9  0.150888  0.482917   0.223267  "
      ]
     },
     "execution_count": 160,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 从原始数据中分离输入特征x和输出y\n",
    "y_col= ['cnt']\n",
    "# 初步分析和年份以及日期没有直接关系\n",
    "x_drop_col= ['cnt','casual','registered','dteday']\n",
    "y = basedata[y_col].values\n",
    "X = basedata.drop(x_drop_col, axis = 1)\n",
    "\n",
    "#用于后续显示权重系数对应的特征\n",
    "columns = X.columns\n",
    "\n",
    "#处理自制x的数据结构\n",
    "X.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>630</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.650000</td>\n",
       "      <td>0.610488</td>\n",
       "      <td>0.646667</td>\n",
       "      <td>0.283583</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>192</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.794167</td>\n",
       "      <td>0.739275</td>\n",
       "      <td>0.559167</td>\n",
       "      <td>0.200254</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>275</th>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0.384167</td>\n",
       "      <td>0.392046</td>\n",
       "      <td>0.760833</td>\n",
       "      <td>0.083346</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>367</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.150000</td>\n",
       "      <td>0.126275</td>\n",
       "      <td>0.441250</td>\n",
       "      <td>0.365671</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>296</th>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.463333</td>\n",
       "      <td>0.457067</td>\n",
       "      <td>0.772083</td>\n",
       "      <td>0.118792</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     season  yr  mnth  holiday  weekday  workingday  weathersit      temp  \\\n",
       "630       3   1     9        0        6           0           1  0.650000   \n",
       "192       3   0     7        0        2           1           1  0.794167   \n",
       "275       4   0    10        0        1           1           2  0.384167   \n",
       "367       1   1     1        0        2           1           1  0.150000   \n",
       "296       4   0    10        0        1           1           1  0.463333   \n",
       "\n",
       "        atemp       hum  windspeed  \n",
       "630  0.610488  0.646667   0.283583  \n",
       "192  0.739275  0.559167   0.200254  \n",
       "275  0.392046  0.760833   0.083346  \n",
       "367  0.126275  0.441250   0.365671  \n",
       "296  0.457067  0.772083   0.118792  "
      ]
     },
     "execution_count": 161,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#将数据分割训练数据与测试数据\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# 随机采样20%的数据构建测试样本，其余作为训练样本\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=33, test_size=0.2)\n",
    "X_train.shape\n",
    "X_train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#发现各特征差异较大，需要进行数据标准化预处理\n",
    "#标准化的目的在于避免原始特征值差异过大，导致训练得到的参数权重不归一，无法比较各特征的重要性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 162,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/vincent/.local/lib/python3.6/site-packages/sklearn/preprocessing/data.py:617: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n",
      "  return self.partial_fit(X, y)\n",
      "/home/vincent/.local/lib/python3.6/site-packages/sklearn/base.py:462: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n",
      "  return self.fit(X, **fit_params).transform(X)\n",
      "/home/vincent/.local/lib/python3.6/site-packages/ipykernel_launcher.py:10: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n",
      "  # Remove the CWD from sys.path while we load stuff.\n",
      "/home/vincent/.local/lib/python3.6/site-packages/sklearn/utils/validation.py:590: DataConversionWarning: Data with input dtype int64 was converted to float64 by StandardScaler.\n",
      "  warnings.warn(msg, DataConversionWarning)\n",
      "/home/vincent/.local/lib/python3.6/site-packages/sklearn/utils/validation.py:590: DataConversionWarning: Data with input dtype int64 was converted to float64 by StandardScaler.\n",
      "  warnings.warn(msg, DataConversionWarning)\n",
      "/home/vincent/.local/lib/python3.6/site-packages/sklearn/utils/validation.py:590: DataConversionWarning: Data with input dtype int64 was converted to float64 by StandardScaler.\n",
      "  warnings.warn(msg, DataConversionWarning)\n"
     ]
    }
   ],
   "source": [
    "# 数据标准化\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "# 分别初始化对特征和目标值的标准化器\n",
    "ss_X = StandardScaler()\n",
    "ss_y = StandardScaler()\n",
    "\n",
    "# 分别对训练和测试数据的特征以及目标值进行标准化处理\n",
    "X_train = ss_X.fit_transform(X_train)\n",
    "X_test = ss_X.transform(X_test)\n",
    "#对y做标准化不是必须\n",
    "#对y标准化的好处是不同问题的w差异不太大，同时正则参数的范围也有限\n",
    "y_train = ss_y.fit_transform(y_train.reshape(-1, 1))\n",
    "y_test = ss_y.transform(y_test.reshape(-1, 1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 171,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>columns</th>\n",
       "      <th>coef</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>yr</td>\n",
       "      <td>[0.5324153075686429]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>season</td>\n",
       "      <td>[0.30296485636420833]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>atemp</td>\n",
       "      <td>[0.2629254550745258]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>temp</td>\n",
       "      <td>[0.2222783379371304]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>weekday</td>\n",
       "      <td>[0.07004159630308604]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>workingday</td>\n",
       "      <td>[0.04409532963058758]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>holiday</td>\n",
       "      <td>[-0.02887596857342879]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>hum</td>\n",
       "      <td>[-0.06041596693577238]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>mnth</td>\n",
       "      <td>[-0.08635615066159785]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>windspeed</td>\n",
       "      <td>[-0.09222316307072898]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>weathersit</td>\n",
       "      <td>[-0.1933014064341719]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       columns                    coef\n",
       "1           yr    [0.5324153075686429]\n",
       "0       season   [0.30296485636420833]\n",
       "8        atemp    [0.2629254550745258]\n",
       "7         temp    [0.2222783379371304]\n",
       "4      weekday   [0.07004159630308604]\n",
       "5   workingday   [0.04409532963058758]\n",
       "3      holiday  [-0.02887596857342879]\n",
       "9          hum  [-0.06041596693577238]\n",
       "2         mnth  [-0.08635615066159785]\n",
       "10   windspeed  [-0.09222316307072898]\n",
       "6   weathersit   [-0.1933014064341719]"
      ]
     },
     "execution_count": 171,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#尝试缺省参数的线性回归\n",
    "#最小二乘线性回归\n",
    "#class sklearn.linear_model.LinearRegression(fit_intercept=True, normalize=False, copy_X=True, n_jobs=1)\n",
    "from sklearn.linear_model import LinearRegression\n",
    "# 使用默认配置初始化\n",
    "lr = LinearRegression()\n",
    "# 训练模型参数\n",
    "lr.fit(X_train, y_train)\n",
    "\n",
    "# 预测\n",
    "y_test_pred_lr = lr.predict(X_test)\n",
    "y_train_pred_lr = lr.predict(X_train)\n",
    "\n",
    "\n",
    "# 看看各特征的权重系数，系数的绝对值大小可视为该特征的重要性\n",
    "fs = pd.DataFrame({\"columns\":list(columns), \"coef\":list((lr.coef_.T))})\n",
    "fs.sort_values(by=['coef'],ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 164,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAekAAAFsCAYAAADos0H8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvDW2N/gAAHQJJREFUeJzt3X2UXXV97/H3l2QkSoCYkISHoAkK8hRIuAMSLTQaBa5Bkq5awAsSFgEsaBdVr6KidWq11UL1yhW9zcWHIIgBbhGq9RYayUWpggmGx6CJSJZJQzJEeQgIkuR7/zh70kkykzmZOTPnNzPv11pnzd5n77P393d2Jp/z2/s3+0RmIkmSyrNHswuQJEldM6QlSSqUIS1JUqEMaUmSCmVIS5JUKENakqRCGdIa9iLikYiY2ew6miki/iQifhMRmyJi+gDud1NEHNLNsvMj4scN2s8TEfG2RmxLGkiGtIa0rv5z3vE//8w8KjOX9LCdyRGRETGyn0pttquA92fm6Mz8+Y4Lq7Y/X4Xq2oj4QkSM6OtOq/093tftSEOVIS0VoIDwfy3wSA/rHJuZo4E/Bs4CLuj3qqRhzpDWsNe5tx0RJ0TE0oh4NiLWR8QXqtXurn4+XfUmZ0TEHhHxiYhYHREbIuK6iNi303bPq5ZtjIhP7rCftoi4JSKuj4hngfOrff8kIp6OiHUR8eWIeEWn7WVEXBoRKyPiuYj4m4h4XUT8e1XvTZ3X36GNXdYaEXtGxCZgBPBARPyqp/crM1cB9wDTOm1/34j4WlX32oj4TEdPOyJeHxH/LyKeiYinImLRDm16fTU9LiJur9pyH/C6TuvtdCYjIpZExIXV9Osi4ofVe/1URNwQEWO6eS+6O8ZScQxpaXtfAr6UmftQC4mbqudPrn6OqU7R/gQ4v3q8BTgEGA18GSAijgS+ApwDHADsCxy0w77mALcAY4AbgC3AB4D9gBnALODSHV5zKvBfgBOBjwALgHOBg4GjgXd3064ua83Ml6reMdR6yq/r+uX/KSIOB04CVnV6+pvAZuD1wHTgFODCatnfAHcArwYmAf+zm01fA7xI7f26gN3rqQfwd8CBwBHU3o+2btbt7hhLxTGkNRx8t+qdPh0RT1MLz+68DLw+IvbLzE2Z+dNdrHsO8IXMfDwzNwEfA86uenvvAv45M3+cmX8A/grY8Ub5P8nM72bm1sz8fWYuy8yfZubmzHwC+Edqp5Y7+/vMfDYzHwEeBu6o9v8M8ANqAbm7tdbr/oh4HlgBLKF6HyNiIvAO4C8z8/nM3AB8ETi7et3L1E6nH5iZL2bmToPBql73nwJ/VW3jYWBhvYVl5qrMvLP60NEOfIGd37sOu3OMpaYypDUczM3MMR0Pdu6ddjYfOAx4LCJ+FhGn72LdA4HVneZXAyOBidWy33QsyMwXgI07vP43nWci4rCI+F5EPFmdAv9bar3qztZ3mv59F/Oj6dquaq3XcdX2zwLeCOxVPf9aoAVY1+mD0D8CE6rlH6HW070vaiPpu+ohj6/q6fyerO5ivS5FxMSI+E51qv1Z4Hp2fu867M4xlprKkJY6ycyVmfluagHzeeCWiNiLnXvBAP9BLaA6vIbaKd/1wDpqp3YBiIhXAuN23N0O818FHgMOrU7FfpxauDXCrmqtW9bcBPyE2tkBqAXrS8B+nT4M7ZOZR1WveTIzL8rMA4H3Al/puA7dSXtVz8E71Njh+ernqzo9t3+n6b+l9n5Ord67c+nmvdvFMZaKY0hLnUTEuRExPjO3Ak9XT2+lFiJbqV3P7XAj8IGImBIRo6kFxaLM3EztWvM7I+JN1WCuNnoO3L2BZ4FN1XXfSxrVrh5q7Y3PARdFxP6ZuY7aNed/iIh9qkFqr4uIPwaIiD+LiI4PLL+jFqZbO28sM7cA/wS0RcSrqmv68zotbwfWAudGxIiqN975+vnewCbgmYg4CPhwd4Xv4hhLxTGkpe2dBjxSjXj+EnB2db34BeCzwD3VKd0Tga8D36I28vvX1AY9/QVAdc34L4DvUOtVbwI2UOtxdue/A/8NeA7438CiXay7u7qttTcy86FqWx1heB7wCuBRakF8C7UBYADHA/dW7+ntwGXd/G30+6mdTn+S2kC0b+yw/KJqfxuBo4B/77Tsr6mdjn8G+D61wO9Ol8d41y2WmiMyuzqLJ6mRqt7r09ROZf+62fVIGhzsSUv9JCLeWZ263YvaHb0eAp5oblWSBhNDWuo/c6gN2PoP4FBqp1U9dSWpbp7uliSpUPakJUkq1IDe1H+//fbLyZMnD+QuJUkqyrJly57KzPH1rDugIT158mSWLl06kLuUJKkoEVH33fQ83S1JUqEMaUmSCmVIS5JUqAG9Ji1J6trLL7/MmjVrePHFF5tdihpk1KhRTJo0iZaWll5vw5CWpAKsWbOGvffem8mTJxPRqC8/U7NkJhs3bmTNmjVMmTKl19vxdLckFeDFF19k3LhxBvQQERGMGzeuz2dGDGlJKoQBPbQ04nga0pIkFcpr0pJUoLa2gd/eiBEjmDp1Kps3b2bKlCl861vfYsyYMbu9rwsvvJAPfvCDHHnkkds9/81vfpOlS5fy5S9/ebe3CTB69Gg2bdpU17ozZ87kqquuorW1ddtzS5cu5brrruPqq6/u1f6bwZ60JAmAV77ylSxfvpyHH36YsWPHcs011/RqO9dee+1OAV2C1tbWfg/oLVu2NHR7hrQkaSczZsxg7dq12+avvPJKjj/+eI455hg+9alPAfD8888ze/Zsjj32WI4++mgWLVoE1HqxHbeA/sY3vsFhhx3GCSecwD333LNte+effz633HLLtvnRo0cDsGnTJmbNmsVxxx3H1KlTue2223aqbd26dZx88slMmzaNo48+mh/96Ed1tWnJkiWcfvrpALS1tXHBBRcwc+ZMDjnkkO3C+/rrr+eEE05g2rRpvPe9790WvJdccgmtra0cddRR294DqN3y+vLLL+e4447j5ptvrquWenm6W5K0nS1btrB48WLmz58PwB133MHKlSu57777yEzOOOMM7r77btrb2znwwAP5/ve/D8Azzzyz3XbWrVvHpz71KZYtW8a+++7LW97yFqZPn77LfY8aNYpbb72VffbZh6eeeooTTzyRM844Y7tBWN/+9rc59dRTueKKK9iyZQsvvPBCr9r52GOPcdddd/Hcc8/xhje8gUsuuYRVq1axaNEi7rnnHlpaWrj00ku54YYbOO+88/jsZz/L2LFj2bJlC7NmzeLBBx/kmGOOAWDcuHHcf//9vapjVwxpSRIAv//975k2bRpr167liCOO4O1vfztQC+k77rhjW8Bu2rSJlStXctJJJ/GhD32Iyy+/nNNPP52TTjppu+3de++9zJw5k/Hja1/4dNZZZ/HLX/5ylzVkJh//+Me5++672WOPPVi7di3r169n//3337bO8ccfzwUXXMDLL7/M3LlzmTZtWq/aO3v2bPbcc0/23HNPJkyYwPr161m8eDHLli3j+OOP3/aeTJgwAYCbbrqJBQsWsHnzZtatW8ejjz66LaTPOuusXtXQE093S5KA/7wmvXr1ajJz2zXp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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#在训练集上观察预测残差的分布，看是否符合模型假设：噪声为0均值的高斯噪声\n",
    "f, ax = plt.subplots(figsize=(7, 5)) \n",
    "f.tight_layout() \n",
    "ax.hist(y_train - y_train_pred_lr,bins=40, label='Residuals Linear', color='b', alpha=.5); \n",
    "ax.set_title(\"Histogram of Residuals\") \n",
    "ax.legend(loc='best');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 169,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The rmse of LinearRegression on test is 0.18166512517743785\n",
      "The rmse score of LinearRegression on train is 0.20734404004886972\n",
      "The r2 score of LinearRegression on test is 0.8247836950496427\n",
      "The r2 score of LinearRegression on train is 0.7926559599511303\n"
     ]
    }
   ],
   "source": [
    "# 使用rmse评价模型在测试集和训练集上的性能，并输出评估结果\n",
    "#测试集\n",
    "print('The rmse of LinearRegression on test is', mean_squared_error(y_test, y_test_pred_lr))\n",
    "#训练集\n",
    "print ('The rmse score of LinearRegression on train is', mean_squared_error(y_train, y_train_pred_lr))\n",
    "\n",
    "print('The r2 score of LinearRegression on test is', r2_score(y_test, y_test_pred_lr))\n",
    "#训练集\n",
    "print('The r2 score of LinearRegression on train is', r2_score(y_train, y_train_pred_lr))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 166,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of RidgeCV on test is 0.8255386802660973\n",
      "The r2 score of RidgeCV on train is 0.7924313555119192\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>columns</th>\n",
       "      <th>coef</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>yr</td>\n",
       "      <td>[0.523034414795355]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>season</td>\n",
       "      <td>[0.28204806382004927]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>atemp</td>\n",
       "      <td>[0.2503444111107284]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>temp</td>\n",
       "      <td>[0.23420014991990956]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>weekday</td>\n",
       "      <td>[0.06765302057282924]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>workingday</td>\n",
       "      <td>[0.04372137355139094]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>holiday</td>\n",
       "      <td>[-0.029758458599349336]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>hum</td>\n",
       "      <td>[-0.062061589878700044]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>mnth</td>\n",
       "      <td>[-0.06677593980190177]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>windspeed</td>\n",
       "      <td>[-0.09274902100983695]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>weathersit</td>\n",
       "      <td>[-0.18990466056651267]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       columns                     coef\n",
       "1           yr      [0.523034414795355]\n",
       "0       season    [0.28204806382004927]\n",
       "8        atemp     [0.2503444111107284]\n",
       "7         temp    [0.23420014991990956]\n",
       "4      weekday    [0.06765302057282924]\n",
       "5   workingday    [0.04372137355139094]\n",
       "3      holiday  [-0.029758458599349336]\n",
       "9          hum  [-0.062061589878700044]\n",
       "2         mnth   [-0.06677593980190177]\n",
       "10   windspeed   [-0.09274902100983695]\n",
       "6   weathersit   [-0.18990466056651267]"
      ]
     },
     "execution_count": 166,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#正则化的线性回归（L2正则 --> 岭回归）\n",
    "from sklearn.linear_model import  RidgeCV\n",
    "\n",
    "#设置超参数（正则参数）范围\n",
    "alphas = [ 0.01, 0.1, 1, 10,100]\n",
    "\n",
    "#生成一个RidgeCV实例, 5折交叉验证\n",
    "ridge = RidgeCV(alphas=alphas, store_cv_values=True,cv=5)  \n",
    "\n",
    "#模型训练\n",
    "ridge.fit(X_train,y_train)    \n",
    "\n",
    "#预测\n",
    "y_test_pred_ridge = ridge.predict(X_test)\n",
    "y_train_pred_ridge = ridge.predict(X_train)\n",
    "\n",
    "# 评估，使用r2_score评价模型在测试集和训练集上的性能\n",
    "#测试集\n",
    "print('The r2 score of RidgeCV on test is', r2_score(y_test, y_test_pred_ridge))\n",
    "#训练集\n",
    "print('The r2 score of RidgeCV on train is', r2_score(y_train, y_train_pred_ridge))\n",
    "\n",
    "# 看看各特征的权重系数，系数的绝对值大小可视为该特征的重要性\n",
    "fs = pd.DataFrame({\"columns\":list(columns), \"coef\":list((ridge.coef_.T))})\n",
    "fs.sort_values(by=['coef'],ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 168,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of LassoCV on test is 0.8240722499817009\n",
      "The r2 score of LassoCV on train is 0.7908063682756299\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/vincent/.local/lib/python3.6/site-packages/sklearn/linear_model/coordinate_descent.py:1108: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>columns</th>\n",
       "      <th>coef</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>yr</td>\n",
       "      <td>0.522253</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>atemp</td>\n",
       "      <td>0.269194</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>season</td>\n",
       "      <td>0.238309</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>temp</td>\n",
       "      <td>0.214662</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>weekday</td>\n",
       "      <td>0.058887</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>workingday</td>\n",
       "      <td>0.037327</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>mnth</td>\n",
       "      <td>-0.021166</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>holiday</td>\n",
       "      <td>-0.025127</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>hum</td>\n",
       "      <td>-0.051614</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>windspeed</td>\n",
       "      <td>-0.082284</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>weathersit</td>\n",
       "      <td>-0.190071</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       columns      coef\n",
       "1           yr  0.522253\n",
       "8        atemp  0.269194\n",
       "0       season  0.238309\n",
       "7         temp  0.214662\n",
       "4      weekday  0.058887\n",
       "5   workingday  0.037327\n",
       "2         mnth -0.021166\n",
       "3      holiday -0.025127\n",
       "9          hum -0.051614\n",
       "10   windspeed -0.082284\n",
       "6   weathersit -0.190071"
      ]
     },
     "execution_count": 168,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#Lasso模型\n",
    "from sklearn.linear_model import LassoCV\n",
    "\n",
    "#设置超参数搜索范围\n",
    "#alphas = [ 0.01, 0.1, 1, 10,100]\n",
    "\n",
    "#生成一个LassoCV实例, 5折交叉验证\n",
    "lasso = LassoCV(alphas=alphas,cv=5)  \n",
    "#lasso = LassoCV()  \n",
    "\n",
    "#训练（内含CV）\n",
    "lasso.fit(X_train, y_train)  \n",
    "\n",
    "#测试\n",
    "y_test_pred_lasso = lasso.predict(X_test)\n",
    "y_train_pred_lasso = lasso.predict(X_train)\n",
    "\n",
    "\n",
    "# 评估，使用r2_score评价模型在测试集和训练集上的性能\n",
    "#测试集\n",
    "print('The r2 score of LassoCV on test is', r2_score(y_test, y_test_pred_lasso))\n",
    "#训练集\n",
    "print('The r2 score of LassoCV on train is', r2_score(y_train, y_train_pred_lasso))\n",
    "# 看看各特征的权重系数，系数的绝对值大小可视为该特征的重要性\n",
    "fs = pd.DataFrame({\"columns\":list(columns), \"coef\":list((lasso.coef_.T))})\n",
    "fs.sort_values(by=['coef'],ascending=False)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#从上来看，LinearRegression/RidgeCV/LassoCV  各模型的r2 score，r2 score 值越大越好，\n",
    "\n",
    "The r2 score of LinearRegression on test is 0.8247836950496427\n",
    "The r2 score of LinearRegression on train is 0.7926559599511303\n",
    "\n",
    "\n",
    "The r2 score of RidgeCV on test is 0.8255386802660973\n",
    "The r2 score of RidgeCV on train is 0.7924313555119192\n",
    "\n",
    "\n",
    "The r2 score of LassoCV on test is 0.8240722499817009\n",
    "The r2 score of LassoCV on train is 0.7908063682756299\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
